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 ExcelPara 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 -
- Matrizes VBA no Excel
- Guia para o formato de número do VBA
- Guia de localização do VBA
- Como usar o VBA Do While Loop?