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.