Palauttaa totuusarvon , joka ilmaisee, onko valinnainen varianttiargumentti välitetty toimintosarjaan.
Syntaksi
IsMissing(argumentinnimi)
Pakollinen argname-argumentti sisältää valinnaisen varianttitoimintosarjan argumentin nimen.
Huomautuksia
IsMissing-funktion avulla voit selvittää, onko toimintosarjan kutsumisessa annettu valinnaisia varianttiargumentteja. IsMissing palauttaa arvon Tosi, jos määritetylle argumentille ei ole välitetty arvoa. muussa tapauksessa se palauttaa arvon Epätosi. Jos IsMissing palauttaa arvon Tosi argumentille, puuttuvan argumentin käyttäminen toisessa koodissa voi aiheuttaa käyttäjän määrittämän virheen. Jos IsMissing-arvoa käytetään ParamArray-argumentissa , se palauttaa arvon aina Epätosi. Jos haluat havaita tyhjän ParamArray-arvon, testaa, onko matriisin yläraja pienempi kuin sen alaraja.
Huomautus
IsMissing ei toimi yksinkertaisissa tietotyypeissä (kuten Kokonaisluku tai Double), koska toisin kuin Muuttujia, niitä ei ole valmisteltu puuttuvaa merkintäbittiä varten. Tämän vuoksi syntaksin valinnaisten argumenttien avulla voit määrittää oletusarvon. Jos argumentti jätetään pois, kun toimintosarjaa kutsutaan, argumentilla on tämä oletusarvo, kuten alla olevassa esimerkissä:
Huomautus
Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then
' MyVar was omitted.
Else
...
End Sub
Monissa tapauksissa voit jättää testin If MyVar kokonaan pois tekemällä oletusarvosta yhtä suuren kuin sen arvon, jonka haluat MyVar sisältää, jos käyttäjä jättää sen pois funktiokutsusta. Tämä tekee koodista yksinkertaisemman ja tehokkaamman.
Esimerkki
Tässä esimerkissä IsMissing-funktiolla tarkistetaan, onko valinnainen argumentti välitetty käyttäjän määrittämään toimintosarjaan. Huomaa, että valinnaiset argumentit voivat nyt sisältää oletusarvoja ja muitakin tietotyyppejä kuin Muuttuja.
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