DONUT PROJECT 2018 - Excel - Acelerando as Macros - Desativando os Recursos de Atualização


A maioria de nós usa Macros para automatizar processos que repetimos ou que exigem conhecimento especializado. Independentemente do motivo pelo qual usamos macros, você quer que sejam executadas o mais rápido possível.

 Série eBook Donut Projects: 

DONUT PROJECT: VBA - Projetos e Códigos de Visual Basic for Applications (Visual Basic For Apllication)eBook - DONUT PROJECT 2024 - Volume 03 - Funções Financeiras - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 02 - Conectando Banco de Dados - André Luiz Bernardes eBook - DONUT PROJECT 2024 - Volume 01 - André Luiz Bernardes



Otimize seu código:

  • Desativando recursos que atualizam a planilha
  • Evitando selecionar coisas




Teste este exemplo com MS Excel 2016 em um sistema Windows 10 de 64 bits, mas essas dicas funcionarão em versões mais antigas.

As dicas são específicas da versão para desktop porque as macros não são executadas na versão navegador. Não há arquivo de demonstração e você não precisará de um.

Você percebeu que sua tela às vezes pisca enquanto uma Macro está em execução? Isso acontece quando o Excel tenta redesenhar a tela para mostrar as alterações feitas pela Macro em execução. Se as atualizações de tela não forem necessárias durante a execução da Macro, considere desabilitar esse recurso para que sua Macro seja executada um pouco mais rapidamente. Use as instruções a seguir para desativar e ativar este recurso:

Let Application.ScreenUpdating = False

'código macro
Let Application.ScreenUpdating = True

Você pode esperar que o Excel redesenhe a tela quando a Macro concluir seu trabalho - quando você redefinir a propriedade como Verdadeiro.

Desativar as atualizações de tela não desativará a Barra de Status, que exibe informações durante as operações normais, incluindo o que sua Macro está fazendo. Para desativar as atualizações na barra de status, use a propriedade DisplayStatusBar da seguinte maneira:

Let Application.ScreenUpdating = False
Let Application.DisplayStatusBar = False

'código macro
Let Aplicação. DisplayStatusBar = True
Let Application.ScreenUpdating = True

Se sua Macro estiver analisando muitos dados, considere a configuração da propriedade Cálculo como Manual enquanto a Macro estiver em execução. Dessa forma, a pasta de trabalho não será recalculada, a menos que você a force pressionando F9. No entanto, a velocidade de cálculo provavelmente não é um fator de grande desempenho, mas pode ter resultados inesperados, portanto use-a com moderação - conforme necessário:

Let Application.Calculation = xlCalculationManual
Let Application.ScreenUpdating = False
Let Application.DisplayStatusBar = False

'código macro
Let Aplicação. DisplayStatusBar = True
Let Application.ScreenUpdating = True
Let Application.Calculation = xlCalculationAutomatic

Macros podem acionar procedimentos de eventos desnecessários. Por exemplo, inserir um valor em uma célula aciona o evento Worksheet_Change. Alguns não serão perceptíveis, mas se a macro for complexa o suficiente, você poderá considerar a desativação de eventos enquanto a Macro estiver em execução:

Let Application.Calculation = xlCalculationManual
Let Application.ScreenUpdating = False
Let Application.DisplayStatusBar = False
Let Application.EnableEvents = False

'código macro
Let Application.EnableEvents = True
Let Aplicação. DisplayStatusBar = True
Let Application.ScreenUpdating = True
Let Application.Calculation = xlCalculationAutomatic


Semelhante à configuração da propriedade Cálculo como Manual, a desativação de eventos pode ter resultados inesperados, portanto, use-os com cuidadosa consideração.


Conheça também:

DONUT PROJECT 2021 - VBA Function:  Como Rastrear o Google Maps (Coordenadas Geográficas) no VBA Excel?

DONUT PROJECT 2021 - VBA Function:  Crie Acrônimos a partir de Strings de Texto

DONUT PROJECT 2021 - VBA Function:  Convertendo uma Matrix num Vetor - Convert Matrix to a Vector

DONUT PROJECT 2021 - VBA Function:  Como tornar o Formulário Transparente no MS Excel?

DONUT PROJECT 2021 - VBA Function:  Faça Buscas no Google a Partir da Célula do MS Excel - Search Google From a Cell

DONUT PROJECT 2021 - VBA Function:  Decompondo um Nome nas Dimensões de uma Matriz

DONUT PROJECT 2021 - VBA Function: Extraindo o Último Sobrenome de um Nome Completo ou a Última Palavra de uma Frase

DONUT PROJECT 2021 - VBA Function:  Extraindo o Segundo Nome de um Nome Completo ou a Segunda Palavra de uma Frase

DONUT PROJECT 2021 - VBA Function: Extraindo o Primeiro Nome ou  a Primeira Palavra de uma Frase


Série Piece of Cake


Séries Donut


Leia também:

eBook: Série DONUT PROJECT 2015: Projetos e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes

eBook: Série Top 10 Funções: Top 10 Funções VBA para o Microsoft Excel - Autor: André Luiz Bernardes

eBook: Série Funções Poderosas: 13 Funções Poderosas no MS Excel - Autor: André Luiz Bernardes

eBook: Série Visual Basic For Application: Criando Logs de acesso: Dicas e Códigos de Visual Basic for Applications - Autor: André Luiz Bernardes

eBook: Série VBA Tips: Rastrei seus Dashboards, Scorecards, Reports, Relatórios, Planilhas e Aplicações - Dicas e Códigos - Autor: André Luiz Bernardes

eBook: Série Data Science: Big Data, Como? - Autor: André Luiz Bernardes

eBook: Série Smarter Analytic: 5 Previsões de Big Data - Autor: André Luiz Bernardes


Comente e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

Nenhum comentário:

Postar um comentário

diHITT - Notícias