ユーザーが指定した エラー番号 を含むサブタイプ Error の Variant を返します。

構文

CVErr ( errornumber )

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

解説

ユーザーが作成したプロシージャでユーザー定義のエラーを作成するには、CVErr 関数を使用します。 たとえば、複数の引数を使用し、通常は文字列を返す関数を作成する場合、関数で入力引数を評価して、値が許容範囲内になるようにすることができます。 そうしないと、関数が期待どおりの値を返さない可能性が高くなります。 この場合、CVErr を使用すると、エラー番号が返されるので、対処方法を判断できます。

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

注: 次の例は、Visual Basic for Applications (VBA) モジュールでのこの関数の使用方法を示しています。 VBA の使用方法の詳細については、[検索] の横にあるドロップダウン リストで [開発者用リファレンス] を選び、検索ボックスに検索する用語を入力します。

この例では、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

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。