エラー(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 |
実行結果
関連記事
-
-
セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)
固定長形式でセルを分割 TextToColumns メソッドや Parse メソ …
-
-
文字列:2つの文字列を比較する(StrComp 関数)
StrComp 関数の使い方 【書式】 result = StrComp ( s …
-
-
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)
RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …
-
-
文字列:文字列を指定した形式に変換する(StrConv 関数)
StrConv 関数の使い方 【書式】 result = StrConv ( s …
-
-
ユーザー設定リストを使って並べ替える(Sort)
VBAでリスト、テーブルを並べ替える(Sort) VBAで、ソートを行うには、S …
-
-
VBA の演算子(算術演算子)
算術演算子 算術演算を行うときに使用する演算子です。 ^(べき乗)、*(積)、/ …
-
-
変数がEmpty 値かどうかをチェックする( IsEmpty 関数 )
IsEmpty 関数の使い方 【書式】 result = IsEmpty ( e …
-
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
-
Math 関数( Abs,Atn,Cos,Exp,Log,Rnd,Sgn,Sin,Sqr,Tan )
Abs 関数 【書式】 value = Abs ( number ) 【引数・戻 …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
- PREV
- データ型変換関数
- NEXT
- 引数の整数部分を取得する(Fix 関数・Int 関数)