Método WorksheetFunction.VLookup (Excel)
Procura um valor na primeira coluna de uma matriz de tabela e retorna um valor na mesma linha de outra coluna da matriz da tabela.
Sintaxe
expressão. VLookup (Arg1, Arg2, Arg3, Arg4)
Expressão Uma variável que representa um objeto WorksheetFunction .
Parâmetros
Nome | Obrigatório/Opcional | Tipo de dados | Descrição |
---|---|---|---|
Arg1 | Obrigatório | Variant | Lookup_value - o valor a ser pesquisado na primeira coluna da matriz de tabela. Lookup_value pode ser um valor ou uma referência. Se lookup_value for menor que o menor valor na primeira coluna de table_array, o VLookup retornará o valor de erro #N/A. |
Arg2 | Obrigatório | Variant | Table_array - duas ou mais colunas de dados. Use uma referência para um intervalo ou um nome do intervalo. Os valores da primeira coluna da table_array são os valores pesquisados por lookup_value. Esses valores podem ser texto, números ou valores lógicos. Os textos em maiúsculas e em minúsculas são equivalentes. |
Arg3 | Obrigatório | Variant | Col_index_num - o número da coluna na table_array da qual o valor correspondente deverá ser retornado. Um col_index_num 1 retorna o valor na primeira coluna da table_array; um col_index_num 2 retorna o valor na segunda coluna da table_array e assim por diante. |
Arg4 | Opcional | Variantes | Range_lookup - um valor lógico que especifica se você deseja que o método VLookup encontre uma correspondência exata ou uma correspondência aproximada. |
Valor de retorno
Variant
Comentários
O V de VLookup significa vertical. Use o método VLookup em vez do método HLookup quando seus valores de comparação estiverem localizados em uma coluna à esquerda dos dados que você deseja localizar.
Se Col_index_num for menor do que 1, o método VLookup gerará um erro.
Se Col_index_num for maior do que o número de colunas na table_array, o método VLookup gerará um erro.
Se Range_lookup for True ou omitido, uma correspondência exata ou aproximada será retornada. Se uma correspondência exata não for encontrada, o próximo valor maior que for menor do que o lookup_value será retornado. Os valores na primeira coluna da table_array deverão ser posicionados em ordem crescente; caso contrário, é possível que o método VLookup não ofereça o valor correto.
Se Range_lookup for False, o método VLookup só encontrará uma correspondência exata. Nesse caso, os valores na primeira coluna de table_array não precisam ser classificados. Se houver dois ou mais valores na primeira coluna da table_array que correspondam ao lookup_value, o primeiro valor encontrado será usado. Se uma correspondência exata não for encontrada, será gerado um erro.
Ao pesquisar valores de texto na primeira coluna de table_array, verifique se os dados na primeira coluna de table_array não têm espaços de liderança, espaços à direita, uso inconsistente de aspas retas ('
ou "
) e encaracoladas (‘
ou “
) ou caracteres não impressão digital. Nesses casos, o método VLookup pode dar um valor incorreto ou inesperado. Para saber mais sobre como limpar ou cortar valores, veja os métodos Clean e Trim.
Ao pesquisar valores de número ou de data, verifique se os dados da primeira coluna da table_array não estão armazenados como valores de texto. Nesse caso, o método VLookup pode dar um valor incorreto ou inesperado.
Se range_lookup for False e lookup_value for texto, você poderá usar os caracteres curinga, o ponto de interrogação (?) e o asterisco (*), em lookup_value. Um ponto de interrogação corresponde a qualquer caractere único; um asterisco corresponde a qualquer sequência de caracteres. Se quiser localizar um ponto de interrogação ou um asterisco, digite um til (~) antes do caractere.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.