Returnerar ett booleskt värde som anger om en valfri variantargument har skickats till en procedur.
Syntax
IsMissing( argname )
Det obligatoriska argname-argumentet innehåller namnet på ett valfritt Variant-procedurargument .
Kommentarer
Använd funktionen IsMissing för att identifiera om valfria Variant-argument har angetts vid anrop av en procedur. IsMissing returnerarTrue om inget värde har skickats för det angivna argumentet. annars returneras Falskt. Om IsMissing returnerarTrue för ett argument kan ett användardefinierat fel uppstå om argumentet saknas i en annan kod. Om IsMissing används för ett ParamArray-argument returneras alltid Falskt. Om du vill identifiera en tom ParamArray kontrollerar du om matrisens övre gräns är mindre än dess nedre gräns.
Obs!: IsMissing fungerar inte med enkla datatyper (t.ex. Heltal eller Double) eftersom de, till skillnad från Varianter, inte har någon avsättning för en "saknad" flaggbit. Därför kan du ange ett standardvärde med syntaxen för inskrivna valfria argument. Om argumentet utelämnas när proceduren anropas har argumentet det här standardvärdet, som i exemplet nedan:
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.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
I många fall kan du utelämna det If MyVar testet helt genom att göra standardvärdet lika med det värde du vill att MyVar ska innehålla om användaren utelämnar det från funktionsanropet. Detta gör din kod mer koncis och effektiv.
Exempel
I det här exemplet används funktionen IsMissing för att kontrollera om ett valfritt argument har skickats till en användardefinierad procedur. Observera att Valfria argument nu kan ha andra standardvärden och standardtyper än 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