Returnerar ett värde av undertypsfel som innehåller ett felnummer som anges av användaren.
Syntax
CVErr ( felnummer )
Det obligatoriska felnumretargument är ett giltigt felnummer.
Kommentarer
Använd funktionen CVErr för att skapa användardefinierade fel i användarskapade procedurer. 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 godkända intervall. Om de inte är det är det troligt att din funktion inte returnerar det du förväntar dig. I den här händelsen kan du med CVErr returnera ett felnummer som talar om för dig vilken åtgärd du ska vidta.
Observera att implicit konvertering av ett fel inte är tillåten. Du kan till exempel inte direkt tilldela returvärdet av CVErr till en variabel som inte är en variant. Du kan emellertid utföra en explicit konvertering (med 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 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 för att skjuta upp hanteringen av ett 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