Chamando os procedimentos Sub e Função
Para ligar para um procedimento Sub de outro procedimento, digite o nome do procedimento e inclua valores para qualquer argumentos obrigatórios. As instruções de Ligações não são obrigatórias, mas quando usá-las, você deve colocar argumentos entre parênteses.
Use um procedimento Sub para organizar outros procedimentos para que sejam mais fáceis de entender e depurar. No exemplo a seguir, as chamadas de procedimento Sub Main
o procedimento Sub, passa MultiBeep
o valor 56 do argumento.
Após MultiBeep
executar, o controle retorna à Main
, e Main
as chamadas do procedimento Sub Message
.
Message
exibe a caixa de mensagem, quando o usuário clica Okey, o controle retorna à Main
, e Main
conclui.
Sub Main()
MultiBeep 56
Message
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message()
MsgBox "Time to take a break!"
End Sub
Observação
Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.
O exemplo a seguir mostra duas maneiras de chamada para um procedimento Sub com mais de um argumento. Na segunda vez da chamada, parênteses são necessárias ao redor os argumentos, porque a instrução de chamada é usada.
Sub Main()
HouseCalc 99800, 43100
Call HouseCalc(380950, 49500)
End Sub
Sub HouseCalc(price As Single, wage As Single)
If 2.5 * wage <= 0.8 * price Then
MsgBox "You cannot afford this house."
Else
MsgBox "This house is affordable."
End If
End Sub
Para usar o valor de retorno de uma função, atribua a função a uma variável e anexe os argumentos entre parênteses, como mostrado no exemplo a seguir.
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
Se não estiver interessado no valor de retorno de uma função, você pode ligar para uma função da mesma forma que você chama de um procedimento Sub. Omita os parênteses, liste os argumentos e não atribua a função a uma variável, conforme mostrado no exemplo a seguir.
MsgBox "Task Completed!", 0, "Task Box"
Se você incluir os parênteses no exemplo, a instrução causará um erro de sintaxe.
A instrução em um procedimento Sub ou função pode passar valores para procedimentos de chamada usando argumentos nomeados. Você pode listar argumentos nomeados em qualquer ordem. Um argumento nomeado consiste em nome do argumento seguido por dois-pontos e o sinal de igual (: =) e o valor atribuído para o argumento.
O exemplo a seguir chama a função MsgBox usando argumentos nomeados sem valor de retorno.
MsgBox Title:="Task Box", Prompt:="Task Completed!"
O exemplo a seguir chama a função MsgBox usando argumentos nomeados. O valor de retorno é atribuído a variável.
answer3 = MsgBox(Title:="Question 3", _
Prompt:="Are you happy with your salary?", Buttons:=4)
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.