Returnerar en variant av undertypen Fel som innehåller ett felnummer som anges av användaren.
Syntax
CVErr(felnummer)
Det obligatoriska argumentet errornumberär ett giltigt felnummer.
Kommentarer
Använd CVErr-funktionen för att skapa användardefinierade fel i procedurer som skapats av användare. Om du till exempel skapar en funktion som accepterar flera argument och normalt returnerar en sträng, kan du låta funktionen utvärdera indataargumenten för att säkerställa att de ligger inom ett godtagbart intervall. Om de inte är det är det troligt att funktionen inte returnerar det du förväntar dig. I så fall kan CVErr returnera ett felnummer som anger vilken åtgärd som ska vidtas.
Observera att implicit konvertering av ett fel inte är tillåtet. Du kan till exempel inte tilldela returvärdet för CVErr direkt till en variabel som inte är en variant. Du kan emellertid utföra en explicit konvertering (med hjälp av CInt, CDbl och så vidare) av värdet som returneras av CVErr och tilldela det till en variabel av lämplig datatyp.
Exempel
Obs
I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I det här exemplet används funktionen CVErr för att returnera en Variant vars VarType är vbError (10). Den användardefinierade funktionen CalculateDouble returnerar ett fel om argumentet som skickas till den inte är ett tal. Du kan använda CVErr för att returnera användardefinierade fel från användardefinierade procedurer eller skjuta upp hanteringen av körningsfel. Använd funktionen ÄrFel för att testa om värdet representerar ett fel.
' 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