Função IsMissing

Retorna um valor booliano que indica se um argumentovariant opcional foi passado para um procedimento.

Sintaxe

IsMissing(argname)

O argumento argname necessário contém o nome de um argumento de procedimento variant opcional.

Comentários

Use a função IsMissing para detectar se foram fornecidos ou não argumentos variant opcionais na chamada de um procedimento. IsMissing retornará True se nenhum valor tiver sido passado para o argumento especificado; caso contrário, ele retorna False.

Se IsMissing retornar True para um argumento, o uso do argumento ausente em outro código poderá causar um erro definido pelo usuário.

Se IsMissing for usado em um argumento ParamArray , ele sempre retornará False. Para detectar um ParamArray vazio, teste para ver se o limite superior da matriz é menor que o limite inferior.

IsMissing não funciona em tipos de dados simples (como Integer ou Double) porque, ao contrário de Variants, eles não têm uma provisão para um bit de sinalizador "ausente". Por causa disso, a sintaxe para argumentos opcionais tipado permite especificar um valor padrão. Se o argumento for omitido quando o procedimento for chamado, o argumento terá esse valor padrão, como no exemplo a seguir.

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

Em muitos casos, você pode omitir o If MyVar teste inteiramente tornando o valor padrão igual ao valor que você deseja MyVar conter se o usuário omitir da chamada de função. Isso torna seu código mais conciso e eficiente.

Exemplo

Este exemplo usa a função IsMissing para verificar se um argumento opcional foi passado para um procedimento definido pelo usuário. Observe que os argumentos opcionais agora podem ter valores e tipos padrão diferentes do 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

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.