構文
IsError(Expression) As Boolean
Expression・・・Emptyかどうか評価する文字列・数式
戻り値 ・・・・・Boolean型 Error値ならTrue/Errorデータ以外はFalse
戻り値 ・・・・・Boolean型 Error値ならTrue/Errorデータ以外はFalse
Expressionに指定した文字列・数式がError値かどうか判別します。
(Errorデータ以外はFalseとなります)
(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関数で取得する必要があります。
エラー値の種類(定数)
定数 | エラー番号 | セルのエラー値 | 内容 | 例 |
xlErrDiv0 | 2007 | #DIV/0! | 0除算エラー | =100/0 |
XlErrNA | 2042 | #N/A | 値が存在しない | VLOOKUP等 |
xlErrName | 2029 | #NAME? | 関数名やセル範囲などの名称が不正 | SUMをSAMU等と間違って記載 |
XlErrNull | 2000 | #NULL! | セルの指定方法が不正 | =SUM(A1:A3 C1:C3)等の指定間違い |
XlErrNum | 2036 | #NUM! | 数値が大きすぎる/小さすぎる | =10^309 |
XlErrRef | 2023 | #REF! | セル参照不正 | =A1*B1とした後B列を削除し、B1が参照できなくなった場合 |
XlErrValue | 2015 | #VALUE! | 不適切なデータが入力された | =A1*B1でA1は数値だがB1は文字列の場合 |
関連記事
数値データかどうか判断する【IsNumeric関数】【ExcelVBA】
日付データかどうか判断する【IsDate関数】【ExcelVBA】
時刻データかどうか判断する【IsDate関数応用】【ExcelVBA】
配列かどうか調べる【IsArray関数】【ExcelVBA】
Nullデータかどうか判断する【IsNull関数】【ExcelVBA】
Emptyデータかどうか判断する【IsEmpty関数】【ExcelVBA】
コメント