Sub-rotina Excel VBA: como chamar Sub em VBA com exemplo
O que รฉ uma sub-rotina no VBA?
A Sub-rotina em VBA รฉ um trecho de cรณdigo que executa uma tarefa especรญfica descrita no cรณdigo, mas nรฃo retorna um resultado ou valor. As sub-rotinas sรฃo usadas para dividir grandes pedaรงos de cรณdigo em pequenas partes gerenciรกveis. As sub-rotinas podem ser recuperadas vรกrias vezes em qualquer lugar do programa.
Digamos que vocรช criou uma interface de usuรกrio com caixas de texto para aceitar dados de entrada do usuรกrio. Vocรช pode criar uma sub-rotina que limpe o conteรบdo das caixas de texto. Uma sub-rotina de chamada VBA รฉ apropriada nesse cenรกrio porque vocรช nรฃo deseja retornar nenhum resultado.
Por que usar sub-rotinas
- Divida o cรณdigo em um pequeno cรณdigo gerenciรกvel: Um programa de computador mรฉdio possui milhares e milhares de linhas de cรณdigo-fonte. Isso introduz complexidade. As sub-rotinas ajudam a resolver esse problema, dividindo o programa em pequenos pedaรงos de cรณdigo gerenciรกveis.
- Reutilizaรงรฃo de cรณdigo. Digamos que vocรช tenha um programa que precisa acessar o banco de dados, quase todas as janelas do programa precisarรฃo interagir com o banco de dados. Em vez de escrever cรณdigo separado para essas janelas, vocรช pode criar uma funรงรฃo que lide com todas as interaรงรตes do banco de dados. Vocรช pode entรฃo chamรก-lo de qualquer janela que desejar.
- Sub-rotinas e funรงรตes sรฃo autodocumentadas. Digamos que vocรช tenha uma funรงรฃo calculaLoanInterest e outra que diz connectToDatabase. Apenas olhando o nome da sub-rotina/funรงรฃo, o programador serรก capaz de dizer o que o programa faz.
Regras de nomenclatura de sub-rotinas e funรงรตes
Para usar sub-rotinas e funรงรตes, existem um conjunto de regras que devem ser seguidas.
- Uma sub-rotina ou nome de funรงรฃo de chamada VBA nรฃo pode conter espaรงo
- Uma subchamada VBA do Excel ou nome de funรงรฃo deve comeรงar com uma letra ou sublinhado. Nรฃo pode comeรงar com um nรบmero ou caractere especial
- Uma sub-rotina ou nome de funรงรฃo nรฃo pode ser uma palavra-chave. Uma palavra-chave รฉ uma palavra que tem um significado especial em VBA. Palavras como Private, Sub, Function e End, etc. sรฃo exemplos de palavras-chave. O compilador os utiliza para tarefas especรญficas.
Sintaxe de sub-rotina VBA
Vocรช precisarรก habilitar a guia Desenvolvedor no Excel para acompanhar este exemplo. Se vocรช nรฃo sabe como ativar a guia Desenvolvedor, leia o tutorial em VBA Operatoros
AQUI na sintaxe,
Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)
'do something
End Sub
Explicaรงรฃo da sintaxe
| Code | Aรงรฃo |
|---|---|
|
|
|
|
|
|
A sub-rotina a seguir aceita o nome e o sobrenome e os exibe em uma caixa de mensagem.
Agora vamos programar e executar este Subprocedimento. Vamos ver isso.
Como chamar Sub em VBA
Abaixo estรก um processo passo a passo sobre como chamar Sub em VBA:
- Projete a interface do usuรกrio e defina as propriedades dos controles do usuรกrio.
- Adicione a sub-rotina
- Escreva o cรณdigo do evento de clique para o botรฃo de comando que chama a sub-rotina
- Teste o aplicativo
Passo 1) Interface de Usuรกrio
Projete a interface do usuรกrio conforme mostrado na imagem abaixo.
Defina as seguintes propriedades. As propriedades que estamos definindo:
| S / N | Controlar | Propriedade | Valor |
|---|---|---|---|
| 1 | BotรฃoComando1 | Nome | btnDisplayFullName |
| 2 | Subtรญtulo | Sub-rotina de nome completo |
Sua interface agora deve ter a seguinte aparรชncia.
Passo 2) Adicionar sub-rotina
- Pressione Alt + F11 para abrir a janela de cรณdigo
- Adicione a seguinte sub-rotina
Private Sub displayFullName(ByVal firstName As String, ByVal lastName As String)
MsgBox firstName & " " & lastName
End Sub
AQUI no cรณdigo,
| Code | Aรงรฃo |
|---|---|
|
|
|
|
|
|
Passo 3) Chamando a sub-rotina
Chamar a sub-rotina a partir do evento de clique do botรฃo de comando.
- Clique com o botรฃo direito no botรฃo de comando conforme mostrado na imagem abaixo. Selecione Exibir cรณdigo.
- O editor de cรณdigo serรก aberto
Adicione o seguinte cรณdigo no editor de cรณdigo para o evento click do botรฃo de comando btnDisplayFullName.
Private Sub btnDisplayFullName_Click()
displayFullName "John", "Doe"
End Sub
Sua janela de cรณdigo agora deve ter a seguinte aparรชncia
Salve as alteraรงรตes e feche a janela de cรณdigo.
Passo 4) Testando o cรณdigo
Na barra de ferramentas do desenvolvedor, desative o modo de design. Como mostrado abaixo.
Passo 5) Clique no botรฃo de comando 'Sub-rotina FullName'.
Vocรช obterรก os seguintes resultados
Resumo
- Uma sub-rotina รฉ um trecho de cรณdigo que executa uma tarefa especรญfica. Uma sub-rotina nรฃo retorna um valor apรณs a execuรงรฃo
- As sub-rotinas oferecem capacidade de reutilizaรงรฃo de cรณdigo
- As sub-rotinas ajudam a dividir grandes pedaรงos de cรณdigo em pequenos cรณdigos gerenciรกveis.






