VBA IFERROR

Um código escrito muitas vezes fornece o erro e as chances de obter um erro complexo são bastante altas. Como o excel, a função IFERROR é usada onde há chances de erro. IFERROR altera a mensagem de erro em outras instruções de texto, conforme necessário e definido pelo usuário. Da mesma forma, o VBA IFERROR funciona da mesma forma que a função IFERROR do Excel. Altera a mensagem de erro no texto definido pelo usuário.

Esse erro ocorre principalmente quando executamos qualquer função matemática ou se estamos mapeando dados que estejam em um formato diferente. O IFERROR lida com muitos erros, alguns deles são:

#VALUE !, # N / A, # DIV / 0 !, #REF !, #NUM !, #NULL! E #NAME?

Exemplo 1

Agora, essa função IFERROR também pode ser implementada no VBA. Agora, para comparar os resultados do Excel com o VBA IFERROR, inseriremos uma coluna na qual aplicaremos a instrução VBA IFERROR, conforme mostrado abaixo.

Você pode fazer o download deste modelo do VBA IFERROR Excel aqui - Modelo do VBA IFERROR Excel

Para isso, consideramos os mesmos dados e inserimos outra coluna na qual executaremos o VBA IFERROR. Vá para a janela VBA e insira um novo módulo no menu Inserir, como mostrado abaixo.

Agora, em um módulo recém-aberto, escreva Subcategoria com qualquer nome. Aqui, fornecemos o nome da função operacional, como mostrado abaixo.

Código:

 Sub VBA_IfError () End Sub 

Agora, com a ajuda do ActiveCell, selecionaremos a primeira célula de referência e usaremos diretamente a fórmula IFERROR com a célula de referência (RC) -2 dividida por -1 número de células. O que significa que estamos dividindo a célula A pela célula B no primeiro argumento. E no segundo argumento, escreva qualquer afirmação que queremos no lugar do erro. Aqui, usaremos o mesmo estado que vimos acima, ou seja, "Nenhuma classe de produto".

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" End Sub 

Agora selecione a célula do intervalo que seria nosso denominador. Aqui nós selecionamos a célula C2.

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" Intervalo ("C2"). Selecione End Sub 

Agora, arraste a fórmula para as células abaixo, onde precisamos aplicar IFERROR até que a tabela tenha os valores.

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" Intervalo ("C2"). Selecione Selection.End (xlDown). Selecione End Sub 

Agora, para chegar à última célula da coluna com a ajuda do comando Range, onde precisamos arrastar a fórmula IFERROR. Aqui nosso limite termina na célula D6.

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" Faixa ("C2"). Selecione Selection.End (xlDown). Selecione Range ("D6"). Selecione End Sub 

Agora, para arrastar o IFERROR aplicado para todas as células aplicáveis, selecione a célula Intervalo de Fim (ou Última) até Até a célula de fórmula aplicada pelo comando Fim (xlUp) em Intervalo .

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" Faixa ("C2"). Selecione Selection.End (xlDown). Selecione Range ("D6"). Selecione Intervalo (Seleção, Seleção.End (xlUp)). Selecione End Sub 

Assim como pressionamos Ctrl + D para arrastar os valores das células para todas as células selecionadas no Excel, aqui no VBA, Selection.FillDown é usado para preencher os mesmos valores de células em todas as células selecionadas.

Código:

 Sub VBA_IfError () ActiveCell.FormulaR1C1 = "= IFERROR (RC (-2) / RC (-1), " "Nenhuma classe de produto" ")" Faixa ("C2"). Selecione Selection.End (xlDown). Selecione Range ("D6"). Selecione Intervalo (Seleção, Seleção.End (xlUp)). Selecione Seleção.Preenchimento Fim Sub Sub 

Isso completa a codificação do VBA IFERROR. Agora execute o código completo clicando no botão play, como mostrado na captura de tela abaixo.

Como podemos ver acima, na coluna D, começando da célula 2 a 6, obtivemos nossos resultados.

Há outro formato e maneira de aplicar o IFERROR no VBA. Para isso, consideraremos outro conjunto de dados, como mostrado abaixo. Abaixo, temos dados de vendas de alguns produtos na coluna A e qualidade vendidos na coluna B. E precisamos mapear esses dados na célula F2 com referência ao tipo de produto Laptop . Agora, os dados na primeira tabela têm # N / A na célula B3 com a quantidade de Laptop esgotada, o que significa que os próprios dados de origem têm um erro. E se procurarmos os dados da primeira tabela na célula F2, obteremos o mesmo # N / A aqui.

Para isso, abra um novo módulo no VBA e escreva Subcategoria com o nome de uma função executada.

Código:

 Sub VBA_IfError2 () End Sub 

Selecione o intervalo em que precisamos ver a saída ou ativar diretamente essa célula pelo ActiveCell seguida pela linha de comando ponto (.), Como mostrado abaixo.

Código:

Agora selecione FormulaR1C1 na lista que é usada para inserir qualquer função do Excel.

Agora use a mesma fórmula usada na função excel no VBA também.

Código:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), ") Erro em Dados "") "End Sub 

Agora selecione a célula onde precisamos ver a saída no intervalo. Aqui nós selecionamos a célula F3.

Código:

 Sub VBA_IfError2 () ActiveCell.FormulaR1C1 = "= IFERROR (VLOOKUP (RC (-1), R (-1) C (-5): R (3) C (-4), 2, 0), ") Erro em Dados "") "Intervalo (" B8 "). Selecione End Sub 

Agora compile e execute o código completo usando a tecla F5 ou manualmente e veja o resultado como mostrado abaixo.

Como podemos ver na captura de tela acima, a saída do tipo de produto Laptop, da primeira tabela # N / A, está com o texto de erro " Error In Data ", conforme definido no código VBA.

Prós da função IFERROR do VBA

  • Leva pouco tempo para aplicar a função IFERROR através do VBA.
  • Resultado da função de inserção do Excel e codificação VBA IFERROR, ambos são iguais.
  • Também podemos formatar ou colar a fórmula aplicada especial para evitar mais problemas.

Contras da função IFERROR do VBA

  • IFERROR com esse método, a referência ao intervalo de células selecionadas pode ser perturbada, pois a tabela possui células limitadas.

Coisas para lembrar

  • Podemos gravar a macro e modificar a codificação gravada conforme nossa necessidade.
  • Lembre-se sempre de salvar o arquivo como Excel habilitado para macro, para que possamos usar a macro aplicada ou criada várias vezes sem nenhum problema.
  • Lembre-se de compilar o código completo antes de terminar a função de comando. Com isso, podemos evitar ou corrigir qualquer erro incorrido.
  • Você pode aplicar o código criado em um botão ou guia e usá-lo com um único clique. Essa é a maneira mais rápida de executar o código.
  • A melhor maneira de evitar qualquer alteração após a execução do código é colar as células completas especiais para que não haja fórmula na célula.

Artigos recomendados

Este foi um guia para a função IFERROR do VBA do Excel. Aqui discutimos como usar a função IFERROR no VBA, juntamente com alguns exemplos práticos e o modelo do Excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Matrizes VBA no Excel
  2. Guia para o formato de número do VBA
  3. Guia de localização do VBA
  4. Como usar o VBA Do While Loop?

Categoria: