Subrotina VBA do Excel: como chamar Sub no VBA com o exemplo

Índice:

Anonim

O que é uma subrotina no VBA?

Uma sub-rotina no 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 quebrar grandes pedaços de código em pequenas partes gerenciáveis. As sub-rotinas podem ser recuperadas várias vezes de qualquer lugar no programa.

Digamos que você tenha criado uma interface de usuário com caixas de texto para aceitar dados de entrada do usuário. Você pode criar uma sub-rotina que limpa o conteúdo das caixas de texto. Uma sub-rotina de chamada VBA é apropriada em tal cenário porque você não deseja retornar nenhum resultado.

Neste tutorial do VBA, você aprenderá-

  • Por que usar subrotinas
  • Regras de nomeação de sub-rotinas e funções
  • Sintaxe da subrotina VBA
  • Como chamar Sub no VBA

Por que usar subrotinas

  • Divida o código em um pequeno código gerenciável : um programa de computador médio tem 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 um código separado para essas janelas, você pode criar uma função que lida com todas as interações do banco de dados. Você pode então chamá-lo de qualquer janela que desejar.
  • As sub-rotinas e funções são autodocumentadas . Digamos que você tenha uma função calcularLoanInterest e outra que diga connectToDatabase. Olhando apenas para o nome da sub-rotina / função, o programador será capaz de dizer o que o programa faz.

Regras de nomeação 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
  • Um Excel VBA Call Sub ou nome de função deve começar com uma letra ou um sublinhado. Não pode começar com um número ou um caractere especial
  • Uma sub-rotina ou nome de função não pode ser uma palavra-chave. Uma palavra-chave é uma palavra com significado especial em VBA. Palavras como Private, Sub, Function e End, etc. são exemplos de palavras-chave. O compilador os usa para tarefas específicas.

Sintaxe da subrotina VBA

Você precisará habilitar a guia Desenvolvedor no Excel para acompanhar este exemplo. Se você não sabe como habilitar a guia Desenvolvedor, leia o tutorial sobre Operadores VBA

AQUI na sintaxe,

Private Sub mySubRoutine(ByVal arg1 As String, ByVal arg2 As String)'do somethingEnd Sub

Explicação de sintaxe

Código

Açao

  • "Private Sub mySubRoutine (…)"
  • Aqui, a palavra-chave "Sub" é usada para declarar uma sub-rotina chamada "mySubRoutine" e iniciar o corpo da sub-rotina.
  • A palavra-chave privada é usada para especificar o escopo da sub-rotina
  • "ByVal arg1 As String, ByVal arg2 As String":
  • Ele declara dois parâmetros de nome de tipo de dados de string arg1 e arg2
  • "End Sub"
  • "End Sub" é usado para finalizar o corpo da sub-rotina

A seguinte sub-rotina aceita o nome e o sobrenome e os exibe em uma caixa de mensagem.

Agora vamos programar e executar este Sub Procedimento. Vamos ver isso.

Como chamar Sub no VBA

Abaixo está um processo passo a passo sobre como chamar Sub no 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

Etapa 1) Interface do usuário

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

Defina as seguintes propriedades. As propriedades que estamos definindo

S / N Ao controle Propriedade Valor
1 CommandButton1 Nome btnDisplayFullName
2 Rubrica Sub-rotina de nome completo

Sua interface agora deve ter a seguinte aparência

Etapa 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 & " " & lastNameEnd Sub

AQUI no código,

Código

Ações

  • "Private Sub displayFullName (…)"
  • Ele declara uma sub-rotina privada displayFullName que aceita dois parâmetros de string.
  • "ByVal firstName As String, ByVal lastName As String"
  • Ele declara duas variáveis ​​de parâmetro firstName e lastName
  • MsgBox firstName & "" & lastName "
  • Ele chama a função interna MsgBox para exibir uma caixa de mensagem. Em seguida, ele 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.

Etapa 3) Chamar a sub-rotina a partir do evento de clique do botão de comando.

  • Clique com o botão direito do mouse no botão de comando conforme mostrado na imagem abaixo. Selecione Exibir código.
  • O editor de código irá abrir

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.

Etapa 4) Testar o código

Na barra de ferramentas do desenvolvedor, desligue o modo de design. Como mostrado abaixo.

Passo 5) Clique no botão de comando 'FullName Subroutine'.

Você obterá os seguintes resultados

Baixe o código do 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 quebrar grandes blocos de código em pequenos códigos gerenciáveis.