Funções e Macros do Aplicativo microsoft soft Excel, chama procedimentos e argumentos veja os exemplos abaixo
Chamando procedimentos Sub e Function
Para chamar um procedimento Sub de outro procedimento, digite o nome do procedimento e inclua valores para quaisquer argumentos obrigatórios. A instrução Call não é obrigatória, mas, caso seja utilizada, quaisquer argumentos devem ser colocados entre parênteses.
Você pode utilizar um procedimento Sub para organizar outros procedimentos, facilitando a compreensão e a depuração dos mesmos. No exemplo a seguir, o procedimento Sub Main
chama o procedimento Sub MultiBeep
, passando o valor 56 para o seu argumento. Depois que o MultiBeep
for executado, o controle retornará para o procedimento Main
, que por sua vez chamará o procedimento Sub Message
. Message
exibe uma caixa de mensagem; quando o usuário clicar em OK, o controle retornará para Main
, que encerrará a execução.
Sub Principal()
MultiBeep 56
Message
End Sub
Sub MultiBeep(numbeeps)
For counter = 1 To numbeeps
Beep
Next counter
End Sub
Sub Message()
MsgBox "Pausa para o café!"
End Sub
Chamando procedimentos Sub com mais de um argumento
O exemplo a seguir mostra duas formas de se chamar um procedimento Sub com mais de um argumento. Na segunda vez em que Calcula_Aquisicao
for chamado, será necessário colocar os argumentos entre parênteses porque a instrução Call é utilizada.
Sub Calculando_valor()
Calcula_Aquisicao 99.800, 43.100
Call Calcula_Aquisicao(38.0950, 49.500) 'chamando o procedimento (instrução Call)
End Sub
Sub Calcula_Aquisicao (preco As Single, salario As Single)
If 2,5 * salario <= 0,8 * preco Then
MsgBox "Você não tem dinheiro para comprar esta casa."
Else
MsgBox "Você tem dinheiro para comprar esta casa."
End If
End Sub
Utilizando parênteses ao chamar procedimentos Function
Para utilizar o valor de retorno de uma função, atribua a função a uma variável e coloque os argumentos entre parênteses, como mostra o exemplo a seguir.
Sub Pergunta_resposta()
Resposta17 = MsgBox(Title:="Pergunta 17", _
Prompt:="Você está satisfeito com o seu salário?", Buttons:=4)
If Resposta17 = 6 Then '6 = vbyes
MsgBox ("Ainda bem, voce é um ótimo funcionário"), vbInformation, "Saberexcel - site das macros"
Else
MsgBox ("Pense bem em tornar isso público, tem 8.974.887.76 pessoas quendo sua vaga"), vbCritical, "saberexcel - site das macros"
End If
End Sub
Caso você não esteja interessado no valor de retorno de uma função, poderá chamar uma função da mesma forma como chama um procedimento Sub. Omita os parênteses, liste os argumentos e não atribua a função a nenhuma variável, como mostra o exemplo a seguir.
MsgBox "Tarefa concluída!", 0, "Saberexcel - Caixa de tarefa "
Cuidado Caso você inclua parênteses no exemplo acima, a instrução provocará um erro de sintaxe.
Passando argumentos nomeados
Uma instrução em um procedimento Sub ou Function pode passar valores para os procedimentos chamados usando argumentos nomeados. Você pode listar argumentos nomeados em qualquer ordem. Um argumento nomeado consiste no nome do argumento, seguido por dois-pontos e um sinal de igualdade (:=), e o valor atribuído ao argumento.
O exemplo a seguir chama a função MsgBox utilizando argumentos nomeados sem valor de retorno.
MsgBox Title:="Caixa de tarefa ", Prompt:="Tarefa concluída!"
O exemplo a seguir chama a função MsgBox usando argumentos nomeados. O valor de retorno é atribuído à variável resposta3
.
Resposta 17 = MsgBox(Title:="Pergunta 17", _ Prompt:="Você está satisfeito com o seu salário?", Buttons:=4)
Sub Pergunta_resposta()
Resposta17 = MsgBox(Title:="Pergunta 17", _Prompt:="Você está satisfeito com o seu salário?", Buttons:=4)
If Resposta17 = 6 Then '6 = vbyes
MsgBox ("Ainda bem, voce é um ótimo funcionário"), vbInformation, "Saberexcel - site das macros"
Else
MsgBox ("Pense bem em tornar isso público, tem 8.974.887.76 pessoas quendo sua vaga"), vbCritical, "saberexcel - site das macros"
End If
End Sub
Caso queira fazer algo mais simples:
Sub visualizar_macros_vbe()
Dim Resposta As String
Resposta = MsgBox("Você está satisfeito com o seu salário?", vbYesNo, "Saberexcel - o site das macros")
If Resposta17 = 6 Then '6 = vbyes
MsgBox ("Ainda bem, voce é um ótimo funcionário"), vbInformation, "Saberexcel - site das macros"
Else
MsgBox ("Pense bem em tornar isso público, tem 8.974.887.76 pessoas quendo sua vaga"), vbCritical, "saberexcel - site das macros"
End If
End Sub
Aprenda tudo sobre o Aplicativo Microsoft Excel VBA (Visual Basic Application),
sozinho, com baixo custo, praticando com os produtos didáticos SaberExcel
Baixe o exemplo de Planilha contendo as macros acima...
Excel planiha vba macros retorna valor procedimentos e argumentos (26.89 KB)