Returnerer en boolesk værdi, der angiver, om en valgfri variantargument er blevet overført til en procedure.
Syntaks
IsMissing( argname )
Det påkrævede argname-argument indeholder navnet på et valgfrit Variant-procedureargument .
Bemærkninger
Brug funktionen IsMissing til at registrere, om valgfri variant-argumenter er angivet ved kald af en procedure. IsMissing returnerer Sand , hvis der ikke er overført nogen værdi for det angivne argument. Ellers returneres Falsk. Hvis IsMissing returnerer Sand for et argument, kan brug af det manglende argument i anden kode medføre en brugerdefineret fejl. Hvis IsMissing bruges på et ParamArray-argument , returneres falsk altid. Hvis du vil registrere en tom ParamArray, skal du teste for at se, om matrixens øvre grænse er mindre end den nedre grænse.
Bemærk!: IsMissing fungerer ikke på simple datatyper (f.eks . Heltal eller Dobbelt), fordi de i modsætning til Varianter ikke har en klargøring for en "manglende" flagbit. Derfor giver syntaksen for indtastede valgfrie argumenter dig mulighed for at angive en standardværdi. Hvis argumentet udelades, når proceduren kaldes, har argumentet denne standardværdi, som i eksemplet nedenfor:
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.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
I mange tilfælde kan du udelade If MyVar teste helt ved at gøre standardværdien lig med den værdi, du vil MyVar skal indeholde, hvis brugeren udelader den fra funktionskaldet. Dette gør din kode mere præcis og effektiv.
Eksempel
I dette eksempel bruges funktionen IsMissing til at kontrollere, om et valgfrit argument er blevet overført til en brugerdefineret procedure. Bemærk, at Valgfrie argumenter nu kan have andre standardværdier og typer end Variant.
Dim ReturnValue
' The following statements call the user-defined ' function procedure. ReturnValue = ReturnTwice() ' Returns Null. ReturnValue = ReturnTwice(2) ' Returns 4. ' Function procedure definition. Function ReturnTwice(Optional A) If IsMissing(A) Then ' If argument is missing, return a Null. ReturnTwice = Null Else ' If argument is present, return twice the value. ReturnTwice = A * 2 End If End Function