VBA Call Sub

O que é Call Sub no VBA?

Podemos executar todos os subprocedimentos de um mesmo módulo em uma única sub-rotina e o processo de executá-los em uma única sub-rotina do VBA chamada “Call Sub”.

Em alguns dos casos, podemos precisar escrever uma grande quantidade de código e escrevê-los em uma única macro cria muitos problemas ao depurar o código. No início, todos tendem a fazer isso puramente por falta de conhecimento sobre o método “Call Sub”.

Não é uma boa prática manter todos os códigos em um único subprocedimento; precisamos dividi-los em vários subprocedimentos para simplificar o código.

Como chamar a subrotina no Excel VBA?

Executar a macro do Excel de um procedimento para outro torna a vida mais fácil puramente com base na economia de muito tempo durante a execução, bem como durante a depuração do código em caso de qualquer erro.

Você pode baixar este modelo de sub Excel de chamada VBA aqui - Modelo de sub Excel de chamada VBA

Código:

 Sub Code_1 () Range ("A1"). Value = "Hello" End Sub Sub Code_2 () Range ("A1"). Interior.Color = rgbAquamarine End Sub 

Na imagem acima, temos dois subprocedimentos. O primeiro é “Código_1” e o segundo é “Código_2”.

No primeiro subcódigo de chamada VBA, acabei de escrever um código para inserir um valor na célula A1 como “Hello”. No segundo subprocedimento, escrevi o código para alterar a cor interna da célula A1 para “rgbAquamarine”.

Agora irei executar o primeiro código, ou seja, “Code_1”.

Agora irei executar o segundo código, ou seja, “Code_2”.

Aqui eu executei o código times.

Usando o VBA “chamar Sub”, podemos executar ambos os subprocedimentos em uma única macro. Só precisamos adicionar a palavra “Call” seguida de um nome de macro.

Observe a imagem gráfica abaixo.

Mencionei o código como “Call Code_2” apenas no primeiro subprocedimento. Agora, para entender, vamos executar o código linha por linha. Pressione a tecla F8 para destacar o nome da macro.

Pressione a tecla F8 mais uma vez para pular para a próxima linha.

A linha amarela mostra que o código destacado está prestes a ser executado se pressionarmos a tecla F8 mais uma vez. Pressione a tecla F8 agora.

Como podemos ver, foi inserida a palavra “Hello” na célula A1. Agora a linha “Call Code_2” foi destacada.

“Call Code_2” tem a tarefa de mudar a cor interna da célula A1 e a palavra “Call Code_2” irá executar este código apenas a partir do subprocedimento real.

Mas pressione a tecla F8 para ver a magia.

Ele saltou para o nome de subprocedimento mencionado. Pressione a tecla F8 mais uma vez.

Agora a linha de tarefa real realçada, para executar isso pressione a tecla F8 mais uma vez.

Assim, podemos executar muitos subprocedimentos de um subprocedimento chamando o subprocedimento por seu nome com a palavra “Call”.

Nota:

  • Podemos executar a macro de outro subprocedimento sem usar a palavra “Call”, mas apenas mencionando o próprio nome da macro.
  • Esta não é a melhor prática porque se o subprocedimento da macro contiver parênteses que você deseja executar, a palavra “Chamar” é obrigatória.
  • Na minha opinião pessoal sempre use a palavra “Ligar” porque é apenas uma palavra de 4 letras que permite que outras pessoas entendam o código corretamente.