共用方式為


IsMissing 函式

傳回布爾值,指出是否已將選擇性的 Variant 自變數傳遞至程式

語法

IsMissing (argname)

必要的 argname 自變數包含選擇性 Variant 程式自變數的名稱。

註解

使用 IsMissing 函式來偵測是否已在呼叫程式時提供選擇性的 Variant 自變數。 如果指定的自變數未傳遞任何值,IsMissing 會傳回 True;否則,它會傳回 False

如果 IsMissing 針對自變數傳回 True ,則在其他程式代碼中使用遺漏的自變數可能會導致使用者定義錯誤。

如果在 ParamArray 自變數上使用 IsMissing,它一律會傳回 False。 若要偵測空的 ParamArray,請測試 以查看數位 上限是否小於其下限。

IsMissing 不適用於像 是 IntegerDouble) 等簡單數據類型 (,因為不同 於 Variants,它們沒有「遺漏」旗標位的布建。 因此,具型別選擇性自變數的語法可讓您指定預設值。 如果在呼叫程式時省略自變數,則自變數會有此預設值,如下列範例所示。

    Sub MySub(Optional MyVar As String = "specialvalue")
        If MyVar = "specialvalue" Then
            ' MyVar was omitted.
        Else
        ...
    End Sub

在許多情況下, If MyVar 如果使用者從函數調用中省略測試,您可以將預設值設為等於您想要 MyVar 包含的值,完全省略測試。 這可讓您的程式代碼更加簡潔且有效率。

範例

此範例會使用 IsMissing 函式來檢查是否已將選擇性自變數傳遞至使用者定義程式。 請注意, 選擇性自 變數現在可以有 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

另請參閱

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應