Tagastab loogikaväärtuse, mis näitab, kas protseduurile on edastatud valikuline argumentVariant.
Süntaks
IsMissing( argumendinimi )
Nõutav argument argumendinimi sisaldab valikulise protseduuri argumendi Variant nimetust.
Kommentaarid
Funktsiooni IsMissing abil saate tuvastada, kas protseduuri kutsumisel on esitatud valikulisi variantargumente.IsMissing tagastab väärtuse True , kui määratud argumendi jaoks pole väärtust edastatud; muul juhul tagastab see väärtuse False. Kui IsMissing tagastab argumendi puhul väärtuse True , võib puuduva argumendi kasutamine muus koodis põhjustada kasutaja määratletud tõrke. Kui argument IsMissing on kasutusel argumendis ParamArray , tagastab see alati väärtuse False. Tühja ParamArray tuvastamiseks testige, kas massiivi ülemine piir on väiksem kui selle alumine piir.
Märkus.: Lihtsate andmetüüpide (nt Täisarv või Topelttäpsusega arv) korral funktsioon IsMissing ei toimi, kuna erinevalt andmetüübist Variant pole lihtsatel andmetüüpidel „puuduv osa“ lipuga märgitud. Seetõttu võimaldab tipitavate valikuliste argumentide süntaks teil vaikeväärtuse määrata. Kui argument protseduurikutsel ära jäetakse, on argumendil allpool olevas näites toodud vaikeväärtus.
Märkus.: Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
Paljudel juhtudel saate testi If MyVar ära jätta, kui lisate vaikeväärtuse, mis on võrdne muutuja MyVar väärtusega juhul, kui kasutaja selle funktsioonikutsest välja jätab. Selle toiminguga tõhustate ja lühendate koodi.
Näide
Selles näites kontrollitakse funktsiooni IsMissing abil, kas kasutaja määratletud protseduurile on edastatud valikuline argument. Pange tähele, et valikulistel argumentidel saavad nüüd olla vaikeväärtused ja tüübist Variant erinevad tüübid.
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