CVErr関数:指定のエラー番号のエラー値を作成する

CVErr 関数は Excel VBA で用意されている関数の一つで、引数に指定したエラー番号のエラー値を作成します。ここでは Excel VBA における CVErr 関数の使い方について解説します。

(Last modified: )

CVErr関数の定義と使い方

CVErr 関数は引数に指定したエラー番号のエラー値を返します。

CVErr(errornumber)

1 番目の引数にエラー番号を指定してください。戻り値として対応するエラー値を返します。

Excel のワークシートのセルにエラー値を設定する場合は、あらかじめて定義されているエラー番号を指定します。定義されていないエラー番号は指定できません。ユーザーが作成したプロシージャの中でエラー値を作成する場合は、ユーザーが定義したエラー番号を持つエラー値を作成して使用することができます。

ワークシートのセルにエラーを作成して代入する

Excel のワークシートのセルで発生するエラーについてはエラー番号は次のようになっています。

定数エラー番号エラー値
xlErrDiv02007#DIV/0!
xlErrNA2042#N/A
xlErrName2029#NAME?
xlErrNull2000#NULL!
xlErrNum2036#NUM!
xlErrRef2023#REF!
xlErrValue2015#VALUE!

これらの定義済みエラー番号を指定してエラーを作成しセルに代入することができます。次のサンプルを見てください。

Option Explicit

Sub CVErr関数()
    Range("B3").Value = xlErrDiv0
    Range("C3").Value = CVErr(xlErrDiv0)
    Range("B4").Value = xlErrNA
    Range("C4").Value = CVErr(xlErrNA)
    Range("B5").Value = xlErrName
    Range("C5").Value = CVErr(xlErrName)
    Range("B6").Value = xlErrNull
    Range("C6").Value = CVErr(xlErrNull)
    Range("B7").Value = xlErrNum
    Range("C7").Value = CVErr(xlErrNum)
    Range("B8").Value = xlErrRef
    Range("C8").Value = CVErr(xlErrRef)
    Range("B9").Value = xlErrValue
    Range("C9").Value = CVErr(xlErrValue)
End Sub

CVErr関数の定義と使い方(2)

このプログラムを実行すると CVErr 関数を使って各エラー番号に対応したエラーをセルに代入します。

CVErr関数の定義と使い方(3)

プロシージャの中でユーザー定義のエラーを使用する

プロシージャの中でユーザーが指定してエラー番号を持つエラーを作成して利用することができます。次のサンプルを見てください。

Option Explicit

Sub CVErr関数()
    Debug.Print MyFunc(10)
    Debug.Print MyFunc(-5)
End Sub

Function MyFunc(num)
    If num > 0 Then
        MyFunc = num * 10
    Else
        MyFunc = CVErr(1001)
    End If
End Function

CVErr関数の定義と使い方(3)

このプログラムを実行すると CVErr 関数を使ってユーザーが定義してエラー番号を使ったエラーを作成し、プロシージャの呼び出し元へ返しています。

CVErr関数の定義と使い方(4)

-- --

Excel VBA における CVErr 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。