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çao Social |
---|---|
|
|
|
|
|
|
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 | Controle | Imóvel | 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 | Opções |
---|---|
|
|
|
|
|
|
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.