Excel VBAのCVErr関数
Excel VBAのCVErr関数は、指定したエラー番号に対応するエラーオブジェクトを生成する関数です。この関数を使用することで、特定のエラー条件をユーザー定義のプロシージャ内で明示的に作成し、それを処理することが可能となります。
引数
CVErr関数は次の形式で使用します。
CVErr(エラー番号)
引数には、次のいずれかの内部エラー番号またはユーザー定義のエラー番号を指定します。
- xlErrDiv0 (2007) : 0での除算エラー
- xlErrNA (2042) : N/Aエラー
- xlErrName (2029) : 名前エラー
- xlErrNull (2000) : Nullエラー
- xlErrNum (2036) : 数値エラー
- xlErrRef (2023) : 参照エラー
- xlErrValue (2015) : 値エラー
サンプルコード
以下のサンプルコードは、CVErr関数の基本的な使用例を示しています。
Sub GenerateError()
On Error GoTo ErrHandler
Dim varError As Variant
varError = CVErr(xlErrDiv0)
Debug.Print 10 / varError ' ここでエラーが発生します
Exit Sub
ErrHandler:
Debug.Print "エラー番号: " & Err.Number & ", エラー内容: " & Err.Description
End Sub
このコードは、0での除算エラー(xlErrDiv0)をCVErr関数を使用して生成し、それを処理するエラーハンドラを含んでいます。10をエラーオブジェクトで割ろうとするとエラーが発生し、そのエラーはエラーハンドラによって捕捉され、エラー情報がDebug.Print文を使ってイミディエイトウィンドウに出力されます。