Returnerer en variant af undertypefejl , der indeholder en fejlnummer , der er angivet af brugeren.
Syntaks
CVErr ( fejlnummer )
Det påkrævede fejlnummerargument er et gyldigt fejlnummer.
Bemærkninger
Brug funktionen CVErr til at oprette brugerdefinerede fejl i brugeroprettede procedurer. Hvis du f.eks. opretter en funktion, der accepterer flere argumenter og normalt returnerer en streng, kan du få din funktion til at evaluere inputargumenterne for at sikre, at de er inden for et acceptabelt område. Hvis de ikke er det, er det sandsynligt, at din funktion ikke returnerer det, du forventer. I dette tilfælde giver CVErr dig mulighed for at returnere et fejlnummer, der fortæller dig, hvad du skal gøre.
Bemærk, at implicit konvertering af en fejl ikke er tilladt. Du kan f.eks. ikke tildele cverr-returværdien direkte til en variabel , der ikke er en variant. Du kan dog udføre en eksplicit konvertering (ved hjælp af CInt, CDbl osv.) af den værdi, der returneres af CVErr , og tildele den til en variabel af den relevante datatype.
Eksempel
Bemærk!: Følgende eksempler demonstrerer brugen af denne funktion i et VBA-modul (Visual Basic for Applications). Hvis du vil have mere at vide om at arbejde med VBA, skal du vælge Udviklerreference på rullelisten ud for Søg og skrive ét eller flere ord i søgefeltet.
I dette eksempel bruges funktionen CVErr til at returnere en Variant , hvis VarType er vbError (10). Den brugerdefinerede funktion CalculateDouble returnerer en fejl, hvis det argument, der overføres til den, ikke er et tal. Du kan bruge CVErr til at returnere brugerdefinerede fejl fra brugerdefinerede procedurer eller til at udskyde håndteringen af en kørselsfejl. Brug funktionen IsError til at teste, om værdien repræsenterer en fejl.
' 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