Introdução ao Excel VBA Call Sub

No VBA, temos uma função como CALL, usada para chamar os valores armazenados em outro procedimento de Subcategoria ou Sub. Suponha que tenhamos escrito um código em algum lugar da pasta de trabalho; agora, ao escrever outro código, precisamos do mesmo código escrito anteriormente. Portanto, em vez de escrever o mesmo código novamente, podemos chamar esse código completo ou procedimento Sub para o atual procedimento Subcategoria ou Sub. Por isso, pode evitar repetir a mesma atividade da pasta de trabalho.

Como chamar Sub no Excel VBA?

Abaixo estão os diferentes exemplos para chamar Sub no Excel VBA:

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

Sub chamada de VBA do Excel - Exemplo # 1

Primeiro, vamos ver um único exemplo em que CHAMARAM a subcategoria ou procedimento de código já escrito. Para isso, precisamos de um módulo.

Vá para a janela VBA e, na opção de menu Inserir, clique em Módulo, como mostrado abaixo.

Depois disso, obteremos uma página em branco ou janela do Módulo. Agora, escreva uma subcategoria de código que estamos executando ou em qualquer outro nome, como mostrado abaixo.

Código:

 Sub Chamada () End Sub 

Agora use um comando da caixa de mensagem e digite qualquer texto ou palavra que você queira ver na caixa de mensagem. Aqui estamos usando o " Primeiro ", como mostrado abaixo.

Código:

 Sub Calling () MsgBox ("Primeiro") End Sub 

Agora compile o código e execute-o clicando no botão Reproduzir, abaixo da barra de menus. Veremos uma caixa de mensagem contendo a mensagem " Primeiro ", como mostrado abaixo.

Agora após o término no mesmo módulo, escreva outra subcategoria ou procedimento em qualquer nome, como mostrado abaixo.

Código:

 Sub Chegada () End Sub 

Nesse caso, use novamente o comando MsgBox e dê uma mensagem ou texto conforme sua escolha. Aqui nós atribuímos o " Segundo ", como mostrado abaixo.

Código:

 Sub Arriving () MsgBox ("Second") End Sub 

Agora, se executarmos o código completo, obteremos a saída apenas da última subcategoria, que é uma caixa de mensagem contendo a mensagem " Segunda ", como mostrado abaixo.

Aí vem a função CALL, que usaremos para chamar as duas mensagens uma a uma. Isso será usado na primeira subcategoria.

Para esse tipo, chame a primeira subcategoria antes de End, seguida pelo nome dessa subcategoria cujo código queremos chamar. A seguir, MsgBox, estamos usando Chamada seguida de Chegada, que é o nome da subcategoria do código escrito abaixo.

Código:

 Sub Chamada () MsgBox ("Primeira") Chamada Chegando Final Sub Sub Chegada () MsgBox ("Segunda") Fim Sub 

Agora compile o código completo do início ao fim e execute-o. Veremos a caixa de mensagem com a mensagem "Primeiro". Agora clique em Ok para continuar. Assim que fizermos isso, obteremos a segunda caixa de mensagem contendo a mensagem " Segunda ", como mostrado abaixo. E se clicar em Ok novamente, ele sairá do procedimento.

E se mudarmos a posição da função Chamar de antes de Fim para depois da primeira subcategoria, como mostrado abaixo? Agora vamos executar o código completo novamente.

Código:

 Sub Chamada () Chamada Chegando MsgBox ("Primeira") Fim Sub Sub Chegada () MsgBox ("Segunda") Fim Sub 

Aparecerá primeiro a mensagem armazenada no segundo subprocedimento, que é “ Segundo ”, seguida pela mensagem “ Primeiro ” quando clicarmos em Ok, como mostrado abaixo.

Portanto, tudo depende de nós, qual procedimento ou categoria Sub queremos chamar primeiro.

Sub chamada de VBA do Excel - Exemplo # 2

Vamos ver outro exemplo em que usaremos uma função de chamada para chamar diferentes subcategorias. Para isso, precisamos de um novo módulo. Abra um módulo no menu Inserir. E fornece uma subcategoria em qualquer nome, como mostrado abaixo.

Código:

 Sub VBACall () End Sub 

Defina 3 variáveis Num1, Num2 e Ans1 no DIM e atribua com Long . Também podemos usar Inteiro ou Duplo, dependendo do uso. Long nos permitirá considerar qualquer tamanho de número.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo final Sub 

Agora dê a Num1 e Num2 qualquer número de sua escolha. Demos a eles 100 e 50, respectivamente. Considerando 100 e 50 nos ajudará a identificar a saída rapidamente.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo Num1 = 100 Num2 = 50 End Sub 

Agora use a fórmula de multiplicação para multiplicar os números armazenados em Num1 e Num2 e armazene sua resposta na variável Ans1, como mostrado abaixo.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 End Sub 

Na próxima linha de código, usaremos o objeto VBA. Para isso, selecione a planilha com o comando Planilha e ofereça um intervalo para qualquer célula. Selecionamos a célula do intervalo como B1. Por fim, imprima o resultado com qualquer nome como Resultado ou Resposta, como mostrado abaixo.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Planilhas (1) .Faixa ("B1"). Valor = "Resposta" End Sub 

Agora, indique o local em que queremos ver a resposta da mesma maneira mostrada acima. Aqui estamos escolhendo a célula C1 como célula de saída e colocando a última variável Ans1 aqui.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Planilhas (1) .Faixa ("B1"). Valor = "Resposta" Planilhas (1). ("C1"). Valor = Ans1 End Sub 

Agora execute o código. Veremos um resultado de multiplicação na célula C1.

Escrevendo outra subcategoria abaixo do mesmo código após End.

Código:

 Sub VBACall2 () End Sub 

Novamente defina 3 variáveis Num3, Num4 e Ans2 no DIM e atribua com Long.

Código:

 Sub VBACall2 () Dim Num3 como longo Dim Num4 como longo Dim Ans2 como longo final Sub 

Dê a Num3 e Num4 os mesmos valores, como 100 e 50, e adicione os dois números.

Código:

 Sub VBACall2 () Dim Num3 como longo Dim Num4 como longo Dim Ans2 como longo Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 End Sub 

Agora use o objeto VBA de maneira semelhante à usada acima e forneça a célula de intervalo como B2 para resposta e C2 para saída de Ans2 .

Código:

 Sub VBACall2 () Dim Num3 como longo Dim Num4 como longo Dim Ans2 como longo Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Planilhas (1) .Faixa ("B2"). Valor = "Resposta" Planilhas (1). ("C2"). Valor = Ans2 End Sub 

Para chamar os dois resultados um a um, use a função Chamar, que fornece o nome da subcategoria, como mostrado abaixo.

Código:

 Sub VBACall () Dim Num1 como longo Dim Num2 como longo Dim Ans1 como longo Num1 = 100 Num2 = 50 Ans1 = Num1 * Num2 Planilhas (1) .Faixa ("B1"). Valor = "Resposta" Planilhas (1). ("C1"). Valor = Ans1 Chamada VBACall2 End Sub Sub VBACall2 () Dim Num3 como longo Dim Num4 como longo Dim Ans2 como longo Num3 = 100 Num4 = 50 Ans2 = Num3 + Num4 Planilhas (1) .Range ("B2" ) .Value = Planilhas "Resposta" (1) .Faixa ("C2"). Valor = Ans2 End Sub 

Agora compile o código inteiro e execute. Seremos os primeiros na célula C2, obtivemos o resultado da multiplicação e na célula C3, resultado da adição.

Para conhecer a sequência correta, podemos usar o comando MsgBox conforme usado no Exemplo-1 e ver quais valores são chamados em qual sequência.

Profissionais do Excel VBA Call Sub

  • O VBA Call Sub economiza tempo ao escrever o mesmo código repetidamente.
  • Chamar o repositório de procedimentos secundários do VBA no mesmo Excel reduz também o tamanho do arquivo do Excel.

Coisas para lembrar

  • Use a caixa de mensagem para fins de teste para ver a execução seqüencial de vários códigos.
  • Compile as linhas de código maiores pressionando a tecla F8 para que a parte do erro possa ser identificada.
  • Salve o arquivo no formato Macro Ativar Excel para manter o código gravado.
  • O uso de CALL antes de End executará o primeiro código primeiro e após o primeiro Subprocedimento, executará o segundo código primeiro.

Artigos recomendados

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

  1. VBA fazer até loop
  2. Fórmula SUBTOTAL no Excel
  3. VBA While Loop
  4. Função Excel de Substring

Categoria: