Como usar ifna em vba (com exemplo)


Você pode usar o método IfNa no VBA para retornar um valor específico se uma fórmula gerar um erro #N/A .

Aqui está uma maneira comum de usar IfNa na prática:

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

Esta macro específica tenta usar a função VLOOKUP para encontrar o valor na célula E2 no intervalo A2:C11 .

Se o valor na célula E2 não for encontrado, a fórmula fornecerá #N/A .

No entanto, podemos usar o método IfNa para retornar “No Value Found” em vez de #N/A .

O exemplo a seguir mostra como usar essa sintaxe na prática.

Exemplo: como usar IfNa em VBA

Digamos que temos o seguinte conjunto de dados no Excel que contém informações sobre vários jogadores de basquete:

Digamos que queremos pesquisar no conjunto de dados o nome do time “Kings” e retornar o valor correspondente na coluna de assistências.

Podemos criar a seguinte macro para fazer isso:

 Sub UseVLOOKUP()
    With Application
    Range(" F2 ").Value = .IfNa(.Vlookup(Range(" E2 "), Range(" A2:C11 "),3,False), "No Value Found")
End With
End Sub

Quando executamos esta macro, recebemos a seguinte saída:

A macro retorna corretamente um valor de 3 assistências para os Reis.

Agora suponha que alteremos o nome da equipe na célula E2 para “Grizzlies”, que não existe no conjunto de dados.

Quando executarmos esta macro novamente, ela retornará “Nenhum valor encontrado” porque é o valor que especificamos que deve ser retornado se a função VLOOKUP resultar em um erro #N/A.

A macro retorna “Nenhum valor encontrado”, pois os Grizzlies não existem na coluna da equipe.

Nota : Você pode encontrar a documentação completa do método VBA IfNa aqui .

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em VBA:

VBA: Como usar correspondência de índice
VBA: Como classificar uma planilha por múltiplas colunas
VBA: como verificar se uma string contém outra string

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *