Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Quando você chama um procedimento Sub ou Function , pode fornecer argumentos posicionalmente, na ordem em que aparecem na definição do procedimento, ou pode fornecer os argumentos pelo nome, independentemente da posição.
Por exemplo, o procedimento Sub a seguir usa três argumentos.
Sub PassArgs(strName As String, intAge As Integer, dteBirth As Date)
Debug.Print strName, intAge, dteBirth
End Sub
Você pode chamar esse procedimento fornecendo seus argumentos na posição correta, cada um delimitado por uma vírgula, conforme mostrado no exemplo a seguir.
PassArgs "Mary", 29, #2-21-69#
Você também pode chamar esse procedimento fornecendo argumentos nomeados, delimitando cada um com uma vírgula.
PassArgs intAge:=29, dteBirth:=#2/21/69#, strName:="Mary"
Um argumento nomeado consiste em um nome de argumento seguido por dois-pontos e um sinal de igual (:=), seguido pelo valor do argumento.
Os argumentos nomeados são especialmente úteis quando você está chamando um procedimento que tem argumentos opcionais. Se você usar argumentos nomeados, não precisará incluir vírgulas para indicar argumentos posicionais ausentes. O uso de argumentos nomeados facilita o acompanhamento de quais argumentos você aprovou e quais omitiu.
Os argumentos opcionais são precedidos pela palavra-chaveOptional na definição do procedimento. Também é possível especificar um valor padrão para o argumento opcional na definição de procedimento. Por exemplo:
Sub OptionalArgs(strState As String, Optional strCountry As String = "USA")
...
End Sub
Ao chamar um procedimento com um argumento opcional, você pode escolher se deseja ou não especificar o argumento opcional. Se você não especificar o argumento opcional, o valor padrão, se houver, será usado. Se nenhum valor padrão for especificado, o argumento será para qualquer variável do tipo especificado.
O procedimento a seguir inclui dois argumentos opcionais, as varRegion variáveis and varCountry . A função IsMissing determina se um argumento Variant opcional foi passado para o procedimento.
Sub OptionalArgs(strState As String, Optional varRegion As Variant, Optional varCountry As Variant = "USA")
If IsMissing(varRegion) And IsMissing(varCountry) Then
Debug.Print strState
ElseIf IsMissing(varCountry) Then
Debug.Print strState, varRegion
ElseIf IsMissing(varRegion) Then
Debug.Print strState, varCountry
Else
Debug.Print strState, varRegion, varCountry
End If
End Sub
Você pode chamar esse procedimento usando argumentos nomeados, conforme mostrado no exemplo a seguir.
OptionalArgs varCountry:="USA", strState:="MD"
OptionalArgs strState:= "MD", varRegion:=5
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.