Freigeben über


CVErr-Funktion

Gibt einen Variant-Wert mit dem Untertyp Error zurück, der eine vom Benutzer angegebene Fehlernummer enthält.

Syntax

CVErr(errornumber)

Das erforderliche errornumber-Argument ist eine beliebige gültige Fehlernummer.

Hinweise

Verwenden Sie die CVErr-Funktion, um in von Benutzern erstellten Prozeduren benutzerdefinierte Fehler zu erstellen. Wenn Sie z. B. eine Funktion erstellen, die mehrere Argumente akzeptiert und normalerweise eine Zeichenfolge zurückgibt, können Sie mit der Funktion die Eingabeargumente auswerten, um sicherzustellen, dass diese sich im zulässigen Bereich bewegen. Ist dies nicht der Fall, ist die Wahrscheinlichkeit hoch, dass die Funktion nicht das erwartete Ergebnis zurückgibt. In diesem Fall können Sie mit CVErr eine Fehlernummer zurückgeben, anhand der ermittelt werden kann, welche Maßnahmen ergriffen werden sollten.

Beachten Sie, dass die implizite Konvertierung eines Fehlers nicht zulässig ist. Beispielsweise können Sie den Rückgabewert von CVErr nicht direkt einer Variablen zuweisen, die kein Variant-Wert ist. Sie können jedoch eine explizite Konvertierung (mithilfe von CInt, CDbl usw.) des von CVErr zurückgegebenen Werts durchführen und diesen einer Variablen des entsprechenden Datentyps zuweisen.

Beispiel

In diesem Beispiel wird die CVErr -Funktion zum Zurückgeben eines Variant -Werts verwendet, für den VarType auf vbError (10) festgelegt ist. Die benutzerdefinierte Funktion CalculateDouble gibt einen Fehler zurück, wenn das an sie übergebene Argument keine Zahl ist. Verwenden Sie CVErr , um benutzerdefinierte Fehler aus benutzerdefinierten Prozeduren zurückzugeben oder die Behandlung eines Laufzeitfehlers zu verzögern. Verwenden Sie die IsError-Funktion , um zu testen, ob der Wert einen Fehler darstellt.

' 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

Siehe auch

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.