エラー(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 |
実行結果
関連記事
-
-
CPU に制御を移す(DoEvents 関数)
DoEvents 関数 DoEvents 関数を実行すると、CPU に制御を移し …
-
-
VBA の演算子(文字連結演算子:& 演算子 + 演算子)
文字連結演算子 文字連結演算子は、文字列の連結を行うときに使用する演算子で、「& …
-
-
文字列:文字列右から指定文字数取得(Right 関数,RightB 関数)
Right 関数・RightB 関数 の使い方 【書式】 result_righ …
-
-
配列(宣言・要素数の変更について)
配列の宣言 【書式】※ 配列の宣言 <Type 型の静的配列(固定長配列)の宣言 …
-
-
ポイント単位の値に変換(CentimetersToPoints,InchesToPoints)
CentimetersToPoints メソッド センチメートル単位の値をポイン …
-
-
変数のデータ型・宣言(Dim ステートメント)
変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …
-
-
ユーザー定義定数(Const ステートメント)
定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …
-
-
IME の現在の状態を取得します(IMEStatus 関数)
IMEStatus 関数の使い方 【書式】 result = IMEStatus …
-
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
-
文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)
Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …
- PREV
- データ型変換関数
- NEXT
- 引数の整数部分を取得する(Fix 関数・Int 関数)

