Vba で iferror を使用する方法 (例あり)


Excel の数式でエラーが発生した場合、次の基本構文を使用して VBA でIFERROR関数を使用し、セルに特定の値を表示できます。

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

この特定の例では、現在のシートの 3 列目の行 2 ~ 11 の各セルにエラー値があるかどうかをチェックします。

エラー値が発生した場合は、「数式エラー」値が 4 列目の対応するセルに割り当てられ、それ以外の場合は、3 列目の数値が 4 列目の対応する値に割り当てられます。

次の例は、この構文を実際に使用する方法を示しています。

例: VBA で IFERROR を使用する方法

さまざまな店舗にわたる商品の総収益と販売個数を示す次のデータ セットが Excel にあるとします。

列 C では、式を使用して収益を販売単位で除算し、単位あたりの収益を取得します。

ただし、この式では#DIV/0!という値が生成されることに注意してください。一部のセルではゼロで除算しようとします。

これらのセルに「数式エラー」を表示する新しい列を作成するとします。

これを行うには、次のマクロを作成できます。

 SubIfError ()
    Dim i As Integer
    
    For i = 2 To 11
    Cells(i, 4).Value = WorksheetFunction.IfError(Cells(i, 3).Value, " Formula Error ")
    Next i
End Sub

このマクロを実行すると、次の出力が表示されます。

D 列の値には、C 列の数式の結果、またはエラー値が表示される場合は「数式エラー」値が表示されます。

コード内のIfErrorメソッドの「Formula Error」を自由に変更して、エラーが発生したときに必要な値を代わりに表示してください。

: VBA IfErrorメソッドの完全なドキュメントはここにあります。

追加リソース

次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。

VBA: IF OR を使用して複数の条件をテストする方法
VBA: IF AND を使用して複数の条件をテストする方法
VBA: IF NOT を使用して条件が満たされていないかどうかをテストする方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です