Notifications
Clear all

VLookup com duas planilhas abertas

4 Posts
2 Usuários
0 Reactions
1,163 Visualizações
wolneypk
(@wolneypk)
Posts: 188
Estimable Member
Topic starter
 

O natural para se fazer um PROCV via macro seria:
Application.WorksheetFunction.VLookup((ITEM_PESQUISA), MATRIZ, COLUNA, 0)

Só que estou com a seguinte dificuldade:
Na minha macro, em determinado momento, terei duas planilhas abertas: Plan1.xlms e Plan2.xlms

A Plan1.xlms é a planilha aonde essa macro esta rodando e a Plan2.xlms é uma planilha que foi aberta para se buscar uma informação.
Preciso dar esse Vlookup a partir da Plan1.xlms na Plan2.xlms (planilha que contém a informação buscada)
Já tentei: ActiveWorkbook.WorksheetFunction.VLookup((ITEM_PESQUISA), MATRIZ, COLUNA, 0)
Mais não rolou...
O Vlookup sempre faz sua busca na Plan1.xlms ao invés de buscar na Plan2.xlms

Só lembrando que a plan2 (que é onde o Vlookup vai fazer sua busca) está em primeiro plano (ActiveWorkbook)

Alguém sabe como resolver essa?

"O impossível, é só uma questão de tempo"

 
Postado : 26/06/2014 8:05 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Eu sei.

Os parametros quando vc usa o worksheetfunction.vlookup() precisam ser determinados com os endereços completos, assim nao importa o workbook ativo...

Exemplinho:

dim wbk1 as workbook
dim wbk2 as workbook
dim resultado

set wbk1 = plan1.xlsm '(e nao xlms como na sua descrição)
set wbk2 = plan2.xlsm '(e nao xlms como na sua descrição)

resultado = application.worksheetfunction.vlookup(wbk1.Worksheets("Planilha do valor Procurado").Range("a1").value,wbk2.Worksheets("Planilha de Busca").Range("A1:J1000"),5,0)

É algo assim... vc nao muda o endereço completo do vlookup, vc muda o endereçamento dos parametros.... Tendeu?

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 8:20 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Veja se o exemplo ajuda, abra os dois arquivos e depois digite o código na coluna (de 1 a 7), se precisar da mesma função mas com o outro arquivo fechado tambem da para fazer.

Vlookp com dois arquivos abertos

[]a

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 26/06/2014 8:55 am
wolneypk
(@wolneypk)
Posts: 188
Estimable Member
Topic starter
 

Fernando. Simples e objetivo!
Obrigado pela explicação amigo!

Mauro, valeu pelo exemplo também meu caro!

Forte abraço!

"O impossível, é só uma questão de tempo"

 
Postado : 26/06/2014 9:52 am