Returnerer en variant av undertypefeil som inneholder en feilnummer angitt av brukeren.
Syntaks
CVErr ( errornumber )
Det nødvendige feilnummeretargument er et gyldig feilnummer.
Merknader
Bruk CVErr-funksjonen til å opprette brukerdefinerte feil i brukeropprettede prosedyrer. Hvis du for eksempel oppretter en funksjon som godtar flere argumenter og vanligvis returnerer en streng, kan du få funksjonen til å evaluere inndataargumentene for å sikre at de er innenfor akseptabelt område. Hvis de ikke er det, er det sannsynlig at funksjonen din ikke returnerer det du forventer. I dette tilfellet lar CVErr deg returnere et feilnummer som forteller deg hvilken handling du skal utføre.
Vær oppmerksom på at implisitt konvertering av en feil ikke er tillatt. Du kan for eksempel ikke tilordne returverdien av CVErr direkte til en variabel som ikke er en variant. Du kan imidlertid utføre en eksplisitt konvertering (ved hjelp av CInt, CDbl og så videre) av verdien som returneres av CVErr , og tilordne den til en variabel av riktig datatype.
Eksempel
Obs!: I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.
Dette eksemplet bruker CVErr-funksjonen til å returnere en variant der VarType er vbError (10). Den brukerdefinerte funksjonen CalculateDouble returnerer en feil hvis argumentet som ble sendt til det, ikke er et tall. Du kan bruke CVErr til å returnere brukerdefinerte feil fra brukerdefinerte prosedyrer eller til å utsette håndteringen av en kjøretidsfeil. Bruk IsError-funksjonen til å teste om verdien representerer en feil.
' 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