É possível utilizar a seguinte sintaxe básica para executar uma PROCV a partir de outra folha utilizando o VBA:
Sub Vlookup() Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False) End Sub
Este exemplo específico procura o valor na célula A2 da folha atual no intervalo A2:C11 da folha denominada Folha2 e encontra o valor correspondente na terceira coluna do intervalo e, em seguida, atribui o resultado à célula B2 na folha atual.
Nota : O último argumento de Falso especifica que queremos uma correspondência exacta.
O exemplo seguinte mostra como utilizar esta sintaxe na prática.
Exemplo: Como utilizar a PROCV a partir de outra folha no VBA
Suponhamos que temos o seguinte conjunto de dados numa folha chamada Folha2 num livro de Excel que contém informações sobre vários jogadores de basquetebol:
Agora suponhamos que mudamos para a folha chamada Folha1 e gostaria de procurar o nome da equipa "Kings" no conjunto de dados de Folha2 e devolver o valor correspondente na coluna de assistências em Folha1 .
Para o efeito, podemos criar a seguinte macro:
Sub Vlookup() Range(" B2 ").Value = WorksheetFunction.Vlookup(Range(" A2 "), Sheets(" Sheet2 ").Range(" A2:C11 "),3,False) End Sub
Quando executamos esta macro, obtemos a seguinte saída:
A macro devolve corretamente um valor de 3 assistências para os Kings.
Se mudarmos o nome da equipa na célula A2 e, em seguida, executar novamente a macro, esta encontrará corretamente o valor das assistências para o novo nome da equipa.
Por exemplo, suponha que alteramos o nome da equipa para "Warriors" e executamos a macro novamente:
A macro devolve corretamente um valor de 4 assistências para os Warriors.
Nota : Pode encontrar a documentação completa para o VBA VLookup método aqui.