VBA ISERROR

Função Excel VBA ISERROR

VBA IsError o próprio nome da função resume a funcionalidade. Esta função identificará se o valor que fornecemos é um valor de erro ou não. Se o valor fornecido ou o valor de referência do intervalo for um valor de erro, obteremos o resultado como “TRUE”; se o valor não for um valor de erro, obteremos o resultado como “FALSE”.

Sintaxe

A expressão nada mais é do que o valor que estamos testando ou o valor de referência da célula ou a expressão da fórmula. E como você pode ver o resultado será “booleano”.

Exemplos

Você pode baixar este VBA ISERROR Excel Template aqui - VBA ISERROR Excel Template

Exemplo 1

Veremos um exemplo simples para descobrir se o valor é um erro ou não. Por exemplo, temos o valor abaixo na célula A1.

Vamos testar se esse valor é um valor de erro ou não.

  • Inicie o código de macro.

Código:

 Sub IsError_Example1 () End Sub 

  • Declare uma variável para armazenar o valor da célula A1.

Código:

 Sub IsError_Example1 () Dim ExpValue As Variant End Sub 

  • Agora atribua o valor da célula A1 a esta variável em VBA.

Código:

 Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Value End Sub 

  • Agora teste se o valor desta variável é um erro ou não.

Código:

 Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Value IsError (ExpValue) End Sub 

  • Coloque esse resultado em uma caixa de mensagem em VBA.

Código:

 Sub IsError_Example1 () Dim ExpValue As Variant ExpValue = Range ("A1"). Value MsgBox IsError (ExpValue) End Sub 

Ok, vamos rodar o código e ver o resultado da função ISERROR.

O resultado é TRUE porque o valor na célula A1 é # DIV / 0! qual é o erro de divisão.

Agora vamos alterar o valor da célula A1 para “Hello”.

Agora execute o código e veja o resultado.

Portanto, o resultado agora é FALSO porque o valor na célula A1 não é o valor de erro.

Então, primeiro, precisamos entender quais são os tipos de erros e por que eles ocorrem na planilha do Excel. Abaixo estão os valores de erro detalhados e explicações.

  • # DIV / 0: Este erro ocorre principalmente porque quando tentamos dividir o número por zero. Este erro é denominado “Divisão por Zero”
  • # N / A: Quando você tenta buscar os dados de uma tabela diferente e se nenhum valor for encontrado, obteremos esse erro e esse erro é chamado de “Não Disponível”.
  • #NOME ?: Se o Excel não for capaz de reconhecer a fórmula ou o nome, obteremos este erro.
  • #NULL !: Quando você especifica um caractere de espaço entre as referências de célula em vez de uma vírgula.
  • #NUM !: O valor numérico fornecido aos dados não é válido.
  • #VALUE !: Quando você faz referência aos valores das células para cálculos matemáticos e se o formato do número não estiver correto, obteremos este erro.
  • #REF !: Se a célula for uma fórmula, ela possui referências de célula e se essa célula referenciada for excluída, obteremos este erro de referência.

Exemplo # 2

Agora, olhe para o conjunto de dados abaixo.

Precisamos identificar quais são os valores de erro desta lista e armazenar o resultado TRUE ou FALSE na próxima coluna.

Como precisamos testar mais de uma célula, precisamos incluir isso em loops, o código a seguir identificará os valores de erro.

Código:

 Sub IsError_Example2 () Dim k As Integer For k = 2 To 12 Cells (k, 4) .Value = IsError (Cells (k, 3) .Value) Next k End Sub 

Quando você executar este código, obteremos o resultado abaixo na coluna 4.

Onde quer que seja TRUE, esse valor é um valor de erro.

Coisas para lembrar

  • ISERROR retorna o resultado do tipo booleano, ou seja, TRUE ou FALSE.
  • Ele está disponível como uma função de planilha e também como uma função VBA.
  • É útil como parte de grandes projetos VBA.
  • Ele reconhece apenas valores de erro pré-determinados (tipo de erro de leitura).