VBA – Desligar Atualização de Tela

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on April 11, 2023

Por mais legal que pareça ver sua macro VBA manipular a tela, você pode ajudar sua Macro a rodar mais rápido se você desligar (desativar) a atualização de tela.

Desativar Atualização de Tela

1. Para desativar o ScreenUpdating, no início de seu código, coloque esta linha:

Application.ScreenUpdating = False

Habilitar Atualização de Tela

2. Para reativar o ScreenUpdating, ao final de seu código, coloque esta linha:

Application.ScreenUpdating = True

Exemplo de Atualização de Tela VBA

Seu procedimento será então parecido com este:

Sub Exemplo_AtualizacaoDeTela()
    Application.ScreenUpdating = False

    'Faça alguma coisa
    Range("a1").Copy Range("b1")
    Range("a2").Copy Range("b2")
    Range("a3").Copy Range("b3")


    Application.ScreenUpdating = True
End Sub

Atualização de Tela

A desativação do ScreenUpdating fará seu código VBA rodar MUITO mais rápido, mas também fará seu trabalho parecer mais profissional. Os usuários finais normalmente não querem ver as ações dos bastidores de seus procedimentos (especialmente quando o procedimento é lento). Além disso, você pode não querer que os usuários finais vejam a funcionalidade dos bastidores (por exemplo, planilhas ocultas). Eu recomendo desativar (e reativar) a atualização da tela em praticamente todos os seus procedimentos.

Entretanto, há alguns momentos em que você deseja que a tela seja atualizada. Para atualizar a tela, você precisará voltar temporariamente para a ScreenUpdating (não há comando de “atualização” da tela):

    Application.ScreenUpdating = True
    'Faça alguma coisa
    Application.ScreenUpdating = False

Configurações VBA – Código de Aceleração

Há várias outras configurações com as quais jogar para melhorar a velocidade de seu código.

A desativação dos cálculos automáticos pode fazer uma grande diferença na velocidade:

Application.Calculation = xlManual

A desativação da Barra de Status também fará uma pequena diferença:

Application.DisplayStatusBar = False

Se seu arquivo contém eventos, você geralmente deve desativar os eventos no início de seu procedimento:

Application.EnableEvents = False

Por último, seu código VBA pode ser desacelerado quando o Excel tenta recalcular as quebras de página (Nota: nem todos os procedimentos serão impactados). Para desativar a exibição das quebras de página, use esta linha de código:

ActiveSheet.DisplayPageBreaks = False

Codificação VBA Facilitada

Pare de procurar por código VBA online. Saiba mais sobre AutoMacro – Um construtor de códigos VBA que permite aos iniciantes codificar procedimentos a partir do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!

VBA Turn Off On ScreenUpdating

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA