transformar Fórmula Índice para VBA

Visual Basic for Aplication e macros no Excel.
Regras do fórum
Sua dúvida foi respondida? Marque como RESOLVIDO em seus tópicos, usando o botão com marca verde. Imagem

transformar Fórmula Índice para VBA

Mensagempor guteonline » Sex Jan 17, 2020 3:41 pm

Olá Pessoal,

Estou precisando de uma ajuda. Estou tentando passar uma formula do excel para VBA, mas não estou conseguindo.

A formula é =ÍNDICE(A2:D9;CORRESP(E1&F1;A:A&B:B;0);4)

Esta formula retorna o valor pesquisado em uma matriz, porém ela está concatenando o item procurado e as colunas de busca.

Exemplo
https://ibb.co/ckQCd4P

Tentei passar pro VBA mas não consegui.

Se puderem me ajudar, ficaria agradecido.

Att:
Gustavo ;)
guteonline
Membro
Membro
 
Mensagens: 3
Registrado em: Sex Jan 17, 2020 3:21 pm
Has thanked: 0 time
Have thanks: 0 time

{ SO_SELECT }

Re: transformar Fórmula Índice para VBA

Mensagempor klarc28 » Sex Jan 17, 2020 3:43 pm

compartilhe pelo GoogleDrive
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.
klarc28
Membro
Membro
 
Mensagens: 1328
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 33 times
Have thanks: 555 times

Re: transformar Fórmula Índice para VBA

Mensagempor JSCOPA10 » Sex Jan 17, 2020 6:55 pm

.
Essa formula está estranha ... (=ÍNDICE(A2:D9;CORRESP(E1&F1;A:A&B:B;0);4)) ... normalmente as matrizes do ÍNDICE e do CORRESP tem o mesmo tamanho!! ... E nesse caso é matricial, tem que finalizar com Crtl+Shift+Enter!!! ... Além disso vc usar a coluna inteira (B:B) a busca fica lenta desnecessariamente já que a formula tem que olhar em mais de 1.000.000 de linhas!! ... Melhor você dar uma boa margem colocando pex B2:B1000 !!!
.
Mas poste o arquivo no www.sendspace.com ... depois cola o link aqui !!!
.
Avatar do usuário
JSCOPA10
Ninja do Excel
Ninja do Excel
 
Mensagens: 347
Registrado em: Qua Jun 19, 2019 9:11 pm
Has thanked: 35 times
Have thanks: 126 times

Re: transformar Fórmula Índice para VBA

Mensagempor guteonline » Dom Jan 19, 2020 5:30 pm

Realmente haavia um erro na formula
Agora está correta!
{=ÍNDICE(D3:D8;CORRESP(1;(A3:A8=C16)*(B3:B8=C17);0))}

Estou querendo passar essa formula apra VBA algo tipo assim.

Valor = WorksheetFunction.Index(Range("D3:D8"), Application.Match(1, (Range("A3:A8") = Range("C16")) * (Range("B3:B8") = Range("C17")), 0))
guteonline
Membro
Membro
 
Mensagens: 3
Registrado em: Sex Jan 17, 2020 3:21 pm
Has thanked: 0 time
Have thanks: 0 time

Re: transformar Fórmula Índice para VBA

Mensagempor teleguiado » Seg Jan 20, 2020 9:39 am

Veja se isso te ajuda.


Código: Selecionar todos
ActiveCell.Formula2R1C1 = "=INDEX(R[-8]C[-5]:R[-3]C[-5],MATCH(1,(R[-8]C[-8]:R[-3]C[-8]=R[5]C[-6])*(R[-8]C[-7]:R[-3]C[-7]=R[6]C[-6]),0))"
Obrigado.

Teleguiado.
E-mail: telegui4do@gmail.com
teleguiado
Membro
Membro
 
Mensagens: 99
Registrado em: Qui Mar 24, 2016 6:38 pm
Localização: Cuiabá/MT
Has thanked: 12 times
Have thanks: 25 times

Re: transformar Fórmula Índice para VBA

Mensagempor guteonline » Seg Jan 20, 2020 2:49 pm

Desse jeito já consigo sim.

vlw
guteonline
Membro
Membro
 
Mensagens: 3
Registrado em: Sex Jan 17, 2020 3:21 pm
Has thanked: 0 time
Have thanks: 0 time

Re: transformar Fórmula Índice para VBA

Mensagempor klarc28 » Ter Jan 21, 2020 7:00 am

Por que não clicou no joinha e não marcou como resolvido?
É estudando que se consegue. Quando quiser agradecer, clique no joinha. Marque como resolvido na parte que resolveu sua dúvida.
klarc28
Membro
Membro
 
Mensagens: 1328
Registrado em: Sáb Dez 09, 2017 12:33 am
Has thanked: 33 times
Have thanks: 555 times


Voltar para VBA & Macros

Quem está online

Usuários navegando neste fórum: Google Adsense [Bot], MSN [Bot], pwilm e 1 visitante