CVErr 関数(エラー番号をエラー値に変換する)の使い方
【書式】
return_value = CVErr ( error_number )
【引数・戻り値の説明】
- error_number ・・・ 任意の数値 (エラー番号) を指定します。
- return_value ・・・ エラー値(バリアント型)
CVErr 関数の戻り値( エラー値 return_value )をバリアント型以外の変数に直接代入することはできません。ただし、CVErr 関数の戻り値を明示的に変換 (CInt 関数、CDbl 関数などを使用して変換) することにより、適切なデータ型の変数に代入することはできます。
IsError 関数(エラー値を含んでいるかどうかを調べる)の使い方
【書式】
return_value = IsError ( expression )
【引数・戻り値の説明】
- expression ・・・ エラー値を含んでいるかどうかチェックを行いたいセルの値や変数・数式を指定します。
- return_value ・・・ expression がエラー値かどうかを調べて結果をブール型(Boolean)で返します。(expression がエラー値の時は True / エラー値でない時はFalse)
エラー値を生成するには CVErr 関数 を使います。
CVErr 関数・IsError 関数 の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
Sub Sample_CVErr_IsError() Dim abc, x, y x = 20: y = 0 abc = Func_DivisionNum(x, y) If IsError(abc) Then MsgBox CStr(abc) & Chr(13) & Error(CInt(abc)) Else MsgBox abc End If End Sub Function Func_DivisionNum(num1, num2) If IsNumeric(num1) And IsNumeric(num2) And num2 <> 0 Then Func_DivisionNum = Int(num1 / num2) Else Func_DivisionNum = CVErr(1000) End If End Function |
実行結果
Error 関数(エラー番号に対応したエラーメッセージを返す)の使い方
【書式】
error_message = Error ( [ error_number ] )
【引数・戻り値の説明】
- error_number ・・・ 任意のエラー番号を指定します。error_number が定義されていない場合、Error 関数は文字列 “アプリケーション定義またはオブジェクト定義のエラーです。” を返します。また有効な範囲外の番号を指定すると、実行時エラーが発生します。error_number を省略すると、最後に発生した実行時エラーに対応するメッセージを返します。実行時エラーが発生していない場合、Error 関数は長さ 0 の文字列 (“”) を返します。(省略可能)
- error_message ・・・ error_number に対応するエラーメッセージを返します。
Error 関数 の使用例
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Sub Sample_Error() Dim ErrorNumber, ErrorMessage For ErrorNumber = 1 To 65535 ErrorMessage = Error(ErrorNumber) If ErrorMessage <> "アプリケーション定義またはオブジェクト定義のエラーです。" Then Debug.Print ErrorNumber & ":" & ErrorMessage Next ErrorNumber End Sub |