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
  • “Sub privada minhaSubRoutine(…)”
  • Aqui a palavra-chave “Sub” é usada para declarar uma sub-rotina chamada “mySubRoutine” e iniciar o corpo da sub-rotina.
  • A palavra-chave Private é usada para especificar o escopo da sub-rotina
  • “ByVal arg1 como string, ByVal arg2 como string”:
  • Ele declara dois parâmetros de tipo de dados string nome arg1 e arg2
  • “Fim Sub”
  • “End Sub” é usado para finalizar o corpo da sub-rotina

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:

  1. Projete a interface do usuário e defina as propriedades dos controles do usuário.
  2. Adicione a sub-rotina
  3. Escreva o código do evento de clique para o botão de comando que chama a sub-rotina
  4. Teste o aplicativo

Passo 1) Interface de Usuário

Projete a interface do usuário conforme mostrado na imagem abaixo.

Como chamar Sub em VBA

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.

Como chamar Sub em VBA

Passo 2) Adicionar sub-rotina

  1. Pressione Alt + F11 para abrir a janela de código
  2. 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
  • “Sub display privadoFullName(…)”
  • Ele declara uma sub-rotina privada displayFullName que aceita dois parâmetros de string.
  • “ByVal primeiro nome como string, ByVal sobrenome como string”
  • Ele declara duas variáveis ​​de parâmetro firstName e lastName
  • MsgBox primeiro nome, ultimo nome"
  • Ele chama a mensagemBox função interna para exibir uma caixa de mensagem. Em seguida, passa as variáveis ​​'firstName' e 'lastName' como parâmetros.
  • O e comercial “&” é usado para concatenar as duas variáveis ​​e adicionar um espaço vazio entre elas.

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

Como chamar Sub em VBA

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

Como chamar Sub em VBA

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.

Como chamar Sub em VBA

Passo 5) Clique no botão de comando 'Sub-rotina FullName'.

Você obterá os seguintes resultados

Como chamar Sub em VBA

Baixe o código Excel acima

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.