Dicas para deixar a execução do VBA mais rápida e profissional

Objetivo: Dar dicas para deixar a execução do VBA Excel mais rápida e profissional.

Dicas para executar o VBA de forma mais rápida e profissional

Ao longo do tempo de programação em VBA vamos nos deparando com situações que exigem muito processamento, o que causa muitas vezes processamento lento e telas piscando de forma incessante.

Neste artigo vamos ver algumas formas de tornar o código mais profissional e resolver alguns problemas que podem ocorrer nestas situações.

Desligar cálculo automático

Uma das primeiras dicas é desligar o cálculo automático quando iniciar o código VBA.

Muitas vezes existem fórmulas nas planilhas que estão sendo trabalhadas, e que durante a execução do código VBA elas vão sendo atualizadas automaticamente a cada iteração do código, o que faz com que o processo ocorra de forma mais lenta.

Para resolver este problema desligamos o cálculo automático ao início do processamento e ligamos novamente ao final, veja um exemplo:

Sub lsTeste()
  Application.Calculation = xlCalculationManual

  'Aqui seu código

  Application.Calculation = xlCalculationAutomatic
End sub

Desabilitar alertas do Excel

Um problema que ocorre muitas vezes é o Excel exibir os seus alertas durante a execução do código VBA, exemplo ao salvar como, ou iterações que questionam sobre a exclusão de um objeto, fazendo com que, muitas vezes, o usuário tenha que interagir desnecessariamente com o arquivo durante a execução.

Para resolver este problema utilize o código abaixo, atenção, pois é muito importante que ao final da execução seja ligado novamente, caso contrário o Excel não exibirá mais alertas.

Sub lsTeste()
  Application.DisplayAlerts = False

  'Aqui seu código

  Application.DisplayAlerts = True
End sub

Como evitar que a tela pisque durante a execução do código VBA

Esta dica além de tornar mais profissional o seu código, faz com que o processamento ocorra de forma muito mais rápida, dado que o sistema não precisará redesenhar a tela todas as vezes em que houver uma interação com uma planilha.

Para resolver este problema veja o exemplo abaixo, lembrando mais uma vez, é necessário ligar novamente ao final da execução.

Sub lsTeste()
  Application.ScreenUpdating = False

  'Aqui seu código

  Application.ScreenUpdating = True
End sub

Desabilitar eventos do Excel

Ás vezes programamos códigos que são executados á partir de eventos que ocorrem no Excel, por exemplo ao mudar de planilha, ou ao alterar dados, e nem sempre são desejados.

Neste caso podemos desabilitar os eventos do Excel, fazendo com que os mesmos não sejam chamados durante a execução de determinado código. Veja no exemplo do código, lembrando que sempre ao final é necessário ligar novamente.

Sub lsTeste()
  Application.EnableEvents = False

  'Aqui seu código

  Application.EnableEvents = True
End sub

Espero que este artigo tenha sido útil.

Abraço

Marcos Rieper


Marcos Rieper

Pai, marido, professor e consultor em Excel.

Obrigado por ler este artigo, este blog foi criado para difundir o conhecimento em Excel à todos.

Divulgamos novos artigos nas redes sociais, basta clicar nos ícones abaixo.

Excel não precisa ser complicado

Assine nossa newsletter e receba dicas práticas para dominar o excel