Deze functie retourneert een booleaanse waarde die aangeeft of een optioneel Variant-argument is doorgegeven aan een procedure.
Syntaxis
IsMissing( argnaam )
Het vereiste argument argnaam bevat de naam van een optioneel Variant-argument voor een procedure.
Opmerkingen
Gebruik de functie IsMissing om te bepalen of er wel of niet optionele Variant-argumenten zijn opgegeven bij het aanroepen van een procedure. IsMissing retourneert True als er geen waarde is doorgegeven voor het opgegeven argument; anders is het resultaat False. Als IsMissingTrue retourneert voor een argument, kan het gebruik van het ontbrekende argument in andere code een door de gebruiker gedefinieerde fout tot gevolg hebben. Als IsMissing wordt gebruikt met een ParamArray-argument, is het resultaat altijd False. U kunt een lege ParamArray vinden door te testen of de bovengrens van de matrix lager is dan de ondergrens.
Opmerking: IsMissing werkt niet met eenvoudige gegevenstypen (zoals Geheel getal of Dubbele precisie) omdat deze, in tegenstelling tot varianten, geen voorziening hebben voor de vlagbit 'ontbrekend'. Om deze reden ondersteunt de syntaxis voor getypte optionele argumenten het opgeven van een standaardwaarde. Als het argument wordt weggelaten wanneer de procedure wordt aangeroepen, krijgt het argument deze standaardwaarde, zoals u in het onderstaande voorbeeld kunt zien:
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
In veel gevallen kunt u de test If MyVar helemaal weglaten door de standaardwaarde in te stellen op de waarde die MyVar moet bevatten als de gebruiker het argument weglaat uit de functieaanroep. Op deze manier wordt uw code beknopter en efficiënter.
Voorbeeld
In dit voorbeeld wordt de functie IsMissing gebruikt om te controleren of een optioneel argument is doorgegeven aan een door de gebruiker gedefinieerde procedure. Optionele argumenten kunnen nu standaardwaarden hebben en een ander type dan 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