Restituisce un valore booleano che indica se unargomentoVariant facoltativo è stato passato a un routine.
Sintassi
IsMissing( argname )
L'argomento argname obbligatorio contiene il nome di un argomento facoltativo della routine Variant.
Osservazioni
Usare la funzione IsMissing per rilevare se nella chiamata di una routine sono stati forniti argomenti Variant facoltativi. IsMissing restituisce True se non è stato passato alcun valore per l'argomento specificato; in caso contrario, restituisce False. Se IsMissing restituisce True per un argomento, l'uso dell'argomento mancante in altro codice può causare un errore definito dall'utente. Se si usa IsMissing su un argomento ParamArray , restituisce sempre False. Per rilevare un ParamArray vuoto, verificare se il limite superiore della matrice è minore del limite inferiore.
Nota: IsMissing non funziona con tipi di dati semplici, ad esempio Integer o Double, perché, a differenza di Varianti, non hanno un provisioning per un bit di flag "mancante". Per questo motivo, la sintassi per gli argomenti facoltativi digitati consente di specificare un valore predefinito. Se l'argomento viene omesso quando viene chiamata la routine, l'argomento avrà questo valore predefinito, come nell'esempio seguente:
Nota: Gli esempi seguenti illustrano l'uso di questa funzione in un modulo di Visual Basic, Applications Edition (VBA). Per altre informazioni sull'uso di VBA, selezionare Riferimenti per sviluppatori nell'elenco a discesa accanto a Cerca e immettere uno o più termini nella casella di ricerca.
Sub MySub(Optional MyVar As String = "specialvalue")
If MyVar = "specialvalue" Then ' MyVar was omitted. Else ... End Sub
In molti casi è possibile omettere completamente il test If MyVar facendo in modo che il valore predefinito sia uguale al valore che MyVar deve contenere se l'utente lo omette dalla chiamata di funzione. In questo modo il codice sarà più conciso ed efficiente.
Esempio
Questo esempio usa la funzione IsMissing per verificare se è stato passato un argomento facoltativo a una routine definita dall'utente. Si noti che gli argomenti facoltativi ora possono avere valori e tipi predefiniti diversi da 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