Subfunção VBA

É o componente mais essencial e significativo do VBA. Um procedimento Sub rotina é uma série de instruções do Visual Basic incluídas nas instruções Sub e End Sub. SUB significa procedimento de sub-rotina, é uma série de instruções VBScript, nas quais não retorna um resultado ou valor.

O subprocedimento geralmente aceita argumentos ou códigos (variáveis, constantes ou expressões passadas por um procedimento de chamada) que são executados para executar uma tarefa específica. A sub declaração contém um conjunto vazio de parênteses () sem nenhum argumento.

Vamos verificar, como escrever sub-procedimentos no Excel VBA?

Estrutura básica do sub VBA

Sub (Sub Procedimento ou nome da tarefa) ()

(Que tarefa precisa ser feita?)

End Sub

Normalmente, a sub-rotina começa com uma instrução Sub e termina com uma instrução End Sub . O subprocedimento ou o nome da tarefa também é chamado de nome de macro, onde não deve conter espaços e um nome exclusivo. O Sub aceita entrada ou código do usuário e exibe ou imprime informações. Quando a instrução é finalizada ou no final da instrução, End Sub é usado

Nota: Sub só pode aceitar argumentos, eles não retornam resultados

Diferentes tipos de sub-rotina no VBA (modificadores de acesso)

  1. Procedimento Público Sub
  2. Procedimento Sub Privado

Antes de conhecer a diferença entre eles, você deve estar ciente de que "Nível de acesso" é uma extensão da capacidade de acessá-lo. Public Sub é semelhante ao Sub, onde Procedure permite que você use o procedimento ou o código VBA em todos os módulos da pasta de trabalho. enquanto Private Sub Procedure permite que você use o procedimento ou o código VBA apenas no módulo atual. (Explicado no exemplo)

Como usar a sub-função no Excel VBA?

Abaixo estão os exemplos diferentes para usar a Subfunção no Excel usando o código VBA.

Você pode fazer o download deste modelo do VBA Sub Excel aqui - Modelo do VBA Sub Excel

Subfunção VBA - Exemplo # 1

Etapa 1: na guia Desenvolvedor, clique em Visual Basic no grupo Código ou use a tecla de atalho Alt + F11

Etapa 2: Agora, você pode criar um módulo em branco, ou seja, clique com o botão direito do mouse na Planilha1 (VBA_SUB), várias opções aparecem, em que selecione Inserir e, abaixo da inserção, aparecem três opções, nas quais é necessário selecionar Módulo, o módulo em branco é criado . Você pode renomeá-lo como "VBA_SUB" na janela da seção de propriedades

Etapa 3: inicie com o subprocedimento da seguinte maneira e crie o código do VBA_SUB

Código:

 Sub VBA_SUB () End Sub 

Etapa 4: quando você começar a digitar o intervalo, o argumento aparecerá entre parênteses e clique na tecla Tab para selecioná-lo. Depois de deixar um espaço e inserir o colchete aberto “(”, o argumento CELLS aparecerá onde você precisará inserir a sintaxe ou o argumento para a função range, ou seja, “E5”

Suponha que eu queira que SUBROUTINE apareça na célula "E5" Para que isso aconteça, preciso digitar = "SUBROUTINE" após a função de intervalo. e depois clique em enter.

Agora, o código está pronto,

Código:

 Sub VBA_SUB () Intervalo ("E5") = "SUB ROUTINE" End Sub 

Etapa 5: Agora, você pode executar a macro clicando no botão Executar Sub (por exemplo, botão verde "reproduzir") ou pressionando F5 . Você pode observar que "SUBROUTINE" aparece na célula "B4"

Subfunção VBA - Exemplo # 2

Etapa 1: comece com o Sub e agora veremos como podemos chamar a função usando o MsgBox.

Código:

 Private Sub Display_Message () MsgBox "meu primeiro programa" End Sub 

Etapa 2: suponha que, quando você executar o código acima mencionado no módulo VBA_SUB, ele funcionará, mas quando você tentar copiar e executá-lo em outro módulo, ou seja, execute esse código no módulo 1 recém-criado 1 da folha 2 ou 3, mensagem pop-up não aparecerá.

Subfunção VBA - Exemplo # 3

Etapa 1: Sub-procedimentos públicos podem ser acessados ​​a partir de um módulo diferente, vamos verificar como ele funciona.

Código:

 Sub tarefa pública_1 () Intervalo ("H7") = "SUBRUTINA PÚBLICA" End Sub 

Etapa 2: Quando executo o código acima mencionado (subtarefa pública_1 ) no módulo VBA_SUB, ele retorna o valor ou o resultado, ou seja, a sequência de texto "PUBLIC SUBROUTINE" na célula "H7" da planilha1

Suponha que eu queira executar esse mesmo código no módulo recém-criado, ou seja, PUBLIC_SUB, então não é necessário escrever o código inteiro nesse módulo, basta mencionar o nome da macro, ou seja, chamar task_1, em vez da função range na segunda linha do código, você obterá a mesma saída ou resultado, por exemplo, a sequência de texto "PUBLIC SUBROUTINE" na célula "H7" da planilha2.

Código:

 Sub Pública task_2 () Chamar task_1 End Sub 

Salve sua pasta de trabalho como "pasta de trabalho ativada por macro do Excel". Quando você abre esse arquivo do Excel novamente, pode usar a tecla de atalho abaixo mencionada

  • A tecla de atalho Function + Alt + F11 ajuda você a acessar todo o código macro criado na pasta de trabalho
  • A tecla de atalho Function + Alt + F8 ajuda você a abrir uma janela da caixa de diálogo “Macro”, que contém todo o nome da macro, onde você pode executar um código de macro específico de sua escolha

Coisas para lembrar

  • Se nenhuma palavra-chave como PUBLIC ou PRIVATE for mencionada ou inserida no início de uma Função VBA, ou seja, Sub declaração, ela considerará a configuração padrão "Public" Sub.
  • O menu Intellisense é o menu suspenso que aparece mesmo quando você digita um ponto “.” No código VB ou na janela Editor) contém uma lista de todos os membros da referência ativa do VB OBJECT MODEL (ou seja, inclui objetos, propriedades, variáveis, métodos e constantes). Esse recurso ajuda a economizar tempo e evita erros ortográficos nas palavras ou erro de digitação.
  • Além do End Sub, existe uma opção da instrução Exit Sub entre SUB e END SUB que causa ou ajuda você a sair imediatamente de um procedimento Sub.

Artigos recomendados

Este é um guia para o VBA SUB. Aqui discutimos como usar o Excel VBA SUB, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Trabalhando com o VBA Active Cell
  2. Excluindo uma linha no VBA
  3. Como usar o Excel VBA Transpose?
  4. Como corrigir o erro 1004 usando o VBA

Categoria: