
Excel VBAでセルの値がエラーの時に指定した値を表示する「IfError」関数を使う記録です。
エクセルには様々な関数が用意されていますが、その中でも「IfError」関数はとても便利で重要な役割を果たします。
「IfError」関数は、エラー処理に特化した関数です。
計算式やデータ参照でエラーが発生した場合に、自分の好きな値をセルに表示することができます。
エラー処理をしておくことで、計算の中断を防ぎ、データの整合性を維持することができますし、見た人がわかりやすくなります。
< スポンサーリンク >
「IfError」構文
WorksheetFunction.IfError(Arg1, Arg2)
Arg1=必須。データ型はVariant。エラーかどうかをチェックする引数。
Arg2=必須。データ型はVariant。数式がエラーとして評価される場合に返す値を指定。評価されるエラーの種類は、#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!です。
戻り値:Variant
数式がエラーとして評価される場合に指定する値を返します。それ以外の場合は、数式の結果を返します。
値またはエラーが空のセルの場合、IfErrorは空の文字列値(“”)として扱います。
値が配列数式の場合、引数に指定した範囲の各セルの結果の配列が返されます。
「IfError」関数を使ったエラー処理の例
アクティブシートのD3セルの数式の結果がエラーの場合は、「エラーです」とメッセージで表示するようにします。
Sub test()
MsgBox WorksheetFunction.IfError(ActiveSheet.Range("D3"), "エラーです")
End Sub
計算結果がエラーではない場合は、計算結果が表示されます。

計算結果がエラーの場合は、「エラーです」と表示されます。

「IfError」関数の役割
「IfError」関数は、エラー処理を簡単に行うことができる優れた関数です。
この関数は、計算式やデータ参照でエラーが発生した場合に、代替の値を返すことができます。
つまり、エラーが発生しても、計算が中断されることなく、代替の値が表示されます。
「IfError」関数を使用することで、コードを簡素化でき、可読性も向上します。
また、エラー処理を一元化することができるため、メンテナンス性も向上します。
こんな記事も書いています
