次の方法で共有


CVErr 関数

ユーザーによって指定されたエラー番号を含むサブタイプ ErrorVariant を返します。

構文

CVErr(errornumber)

必要な errornumber引数 は、任意の有効なエラー番号です。

解説

CVErr 関数は、ユーザーが作成するプロシージャでユーザー定義のエラーを作成するために使用されます。 たとえば、複数の引数を受け取って普通に文字列を返す関数を作成する場合は、関数で入力引数を評価し、受け付けられる範囲内の値であることを確認できます。 そうでない場合、関数は期待する結果を返しません。 このような場合、CVErr を使用することで、実行する処理の内容を通知するエラー番号を返すことができます。

Error の暗黙的な変換はできないことに注意してください。 たとえば、CVErr の戻り値を、Variant ではない変数に直接割り当てることはできません。 ただし、CVErr によって返される値の明示的な変換を実行し (CIntCDbl などを使用)、それを適切なデータ型の変数に割り当てることはできます。

次の例では、CVErr 関数を使用して、VarTypevbError (10) である Variant を返します。 ユーザー定義関数 CalculateDouble は、渡された引数が数値でない場合にエラーを返します。 CVErr を使用して、ユーザー定義プロシージャからユーザー定義エラーを返すか、実行時エラーの処理を延期します。 値がエラーを表しているかどうかを調べるには、IsError 関数を使用します。

' Call CalculateDouble with an error-producing argument.
Sub Test()
    Debug.Print CalculateDouble("345.45robert")
End Sub
' Define CalculateDouble Function procedure.
Function CalculateDouble(Number)
    If IsNumeric(Number) Then
        CalculateDouble = Number * 2    ' Return result.
    Else
        CalculateDouble = CVErr(2001)    ' Return a user-defined error 
    End If    ' number.
End Function

関連項目

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。