エラー(CVErr 関数・IsError 関数・Error 関数)
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 |
実行結果
関連記事
-
Array 関数(バリアント型の配列を作成)
Array 関数の使い方 【書式】 myArray = Array ( elem …
-
出力位置、書き込み位置を設定(Tab 関数)
出力位置、書き込み位置を設定 Tab 関数 は、Print メソッド、または P …
-
上付き文字・下付き文字(Superscript,Subscript)
上付き文字(Superscript プロパティ) Superscript プロパ …
-
Option Compare ステートメント
Option Compare ステートメントの使い方 【書式】 Option C …
-
引数の整数部分を取得する(Fix 関数・Int 関数)
Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …
-
文字列:文字列を最後から検索してその最初の文字位置を返す(InStrRev 関数)
InStrRev 関数 任意の文字列の中で、指定した文字列を最後から検索して、見 …
-
連想配列(Dictionary オブジェクト)
連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
文字列:文字列変数の値を右詰めまたは左詰めにする(RSet ステートメント・LSet ステートメント)
RSet ステートメント・LSet ステートメント 【書式】 < RSet ステ …
-
VBA で正規表現を使う(RegExp オブジェクトのメソッド)
RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …
- PREV
- データ型変換関数
- NEXT
- 引数の整数部分を取得する(Fix 関数・Int 関数)