VBA IFERROR | IFERRORVBA関数を使用するためのステップバイステップの例

ExcelでIFERRORを使用して、すべての関数の前にエラーが発生した場合の対処方法を知るのと同じように、VBAにはワークシート関数であるため同じ方法で使用されるIFERROR関数が組み込まれています。この関数はworksheet.functionで使用します。 VBAのメソッドを使用してから、関数の引数を指定します。

VBAのIFERROR関数

エラーをスローせずにコードが機能することを期待するのは犯罪です。VBAのエラーを処理するには、On Error Resume Next VBA、On Error Resume Goto 0、On Error GoToLabelなどのステートメントを使用するいくつかの方法があります。VBAエラーハンドラーは、コードの次の行にのみ進むことができます。ただし、計算が行われない場合は、エラーを他のIDワードに置き換える必要があります。この記事では、ExcelでVBAIFERROR関数を使用してこれを実現する方法を説明します。

VBAでIFERRORを使用するにはどうすればよいですか?

ここで覚えておくべきことは、それは単なるワークシート関数としてのVBA関数ではないということです。

このVBAIFERROR Excelテンプレートはここからダウンロードできます– VBA IFERRORExcelテンプレート

たとえば、上記のデータはデモンストレーションのためだけに取ってください。

ステップ1:変数を整数として定義します。

コード:

 Sub Iferror_Example1()Dim i As Integer End Sub 

ステップ2:計算を実行するにはFor NextLoopを開きます

コード:

 Sub Iferror_Example1()Dim i As Integer For i = 2 To 6 Next i End Sub 

ステップ3:内部にCells(I、3).Value =としてコードを記述します

コード:

 Sub Iferror_Example1()Dim i As Integer For i = 2 To 6 Cells(i、3).Value = Next i End Sub 

ステップ4: IFERROR関数にアクセスするには、数式を入力するだけではなく、「WorksheetFunction」クラスを使用する必要があります。

コード:

 Sub Iferror_Example1()Dim i As Integer For i = 2 To 6 Cells(i、3).Value = WorksheetFunction.If Next i End Sub 

ステップ5:コマンド「WorksheetFunction」クラスを挿入した後の上の画像でわかるように、IFERROR式を取得します。式を選択します。

コード:

 Sub Iferror_Example1()Dim i As Integer For i = 2 To 6 Cells(i、3).Value = WorksheetFunction.IfError(Next i End Sub 

ステップ6:ワークシート関数にアクセスしているときのVBAの問題の1つは、ワークシートで見たような引数を見ることができません。私たちが使用している引数について絶対に確信する必要があります。

これが、VBAでIFERRORを表示する前に、ワークシート関数の構文を表示した理由です。

ここでの最初の引数は「値」です。つまり、チェックするセルは何ですか。この前に、セルで計算を適用します。

次に、VBAで以下のコードを適用します。

コード:

 Sub Iferror_Example1()Dim i As Integer For i = 2 To 6 Cells(i、4).Value = WorksheetFunction.IfError(Cells(i、3).Value、 "Not Found")Next i End Sub 

これで、IFERROR関数は列Cのエラーをチェックします。エラーが見つかった場合は、結果が列Dに「見つかりません」と表示されます。

このようにIFERROR関数を使用すると、必要に応じて結果を変更できます。この場合、結果を「見つかりません」に変更しました。これを要件に変更できます。

エラーの種類、VBAIFERRORが見つけることができる

IFERROR関数が処理できるExcelエラーの種類を知ることは重要です。以下は、IFERRORが処理できるエラーの種類です。

#N / A、#VALUE!、#REF!、#DIV / 0!、#NUM!、#NAME ?、または#NULL!。