関数・メソッド

セルの値がエラーかどうか判断する【IsError関数】【ExcelVBA】

構文

IsError(Expression)  As Boolean

Expression・・・Emptyかどうか評価する文字列・数式
戻り値 ・・・・・Boolean型 Error値ならTrue/Errorデータ以外はFalse
Expressionに指定した文字列・数がError値かどうか判別します。
(Errorデータ以外はFalseとなります)

IsError関数のサンプルコード

Public Sub sample_isError()
    '■アクティブセルが「1」の場合
    Debug.Print IsError(ActiveCell.Value)  'False

    '■セルA2が「""」の場合
    Debug.Print IsError(Range("A2"))       'False

    '■セルB3が「"abc"」の場合
    Debug.Print IsError(Cells(3, 2))       'False

    '■セルC4が「#DIV/0」の場合
    Debug.Print IsError(Range("C4"))       'True
    
    '■セルC4が「#N/A」の場合
    Debug.Print IsError(Range("C4"))       'True
    
    '■セルC4が「#REF!」の場合
    Debug.Print IsError(Range("C4"))       'True
End Sub

 

注意点

  • エラーの種類に関わらず、エラーかどうかで判断します。
  • エラーの種類を取得したい場合は、CVErr関数で取得する必要があります。

エラー値の種類(定数)

定数エラー番号セルのエラー値内容
xlErrDiv02007#DIV/0!0除算エラー=100/0
XlErrNA2042#N/A値が存在しないVLOOKUP等
xlErrName2029#NAME?関数名やセル範囲などの名称が不正SUMをSAMU等と間違って記載
XlErrNull2000#NULL!セルの指定方法が不正=SUM(A1:A3 C1:C3)等の指定間違い
XlErrNum2036#NUM!数値が大きすぎる/小さすぎる=10^309
XlErrRef2023#REF!セル参照不正=A1*B1とした後B列を削除し、B1が参照できなくなった場合
XlErrValue2015#VALUE!不適切なデータが入力された=A1*B1でA1は数値だがB1は文字列の場合

関連記事

数値データかどうか判断する【IsNumeric関数】【ExcelVBA】
日付データかどうか判断する【IsDate関数】【ExcelVBA】
時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】
Nullデータかどうか判断する【IsNull関数】【ExcelVBA】
Emptyデータかどうか判断する【IsEmpty関数】【ExcelVBA】

 

コメント

タイトルとURLをコピーしました