Redefinir tela atualizando para compatibilidade futura com Excel XP - Excel Tips

Índice

Minha dica do dia vem de um pouco da minha própria experiência. Como você está aprendendo a escrever código, provavelmente aprendeu que pode acelerar radicalmente sua macro desligando a atualização da tela enquanto a macro é executada. Você adicionaria esta linha de código à sua macro:

Sub Test() Application.ScreenUpdating = False '… macro code here Application.ScreenUpdating = True End Sub

No Excel 2000 e anteriores, não era necessário transformar ScreenUpdating novamente em true. Quando a macro terminava, o Excel sempre voltava a retornar a atualização da tela para true. Quando eu estava escrevendo macros para essa plataforma, muitas vezes deixava de fora o ScreenUpdating = True porque sabia que o Excel cuidaria disso para mim e resolveu o incômodo de ter que me preocupar com isso, porque essa macro foi chamada por outro lugar que não queria a atualização da tela foi reativada ou não.

Agora que essas macros estão sendo usadas no Excel 2002, temos um problema. A política de 2002 do Excel é que a macro deve ativar a atualização da tela novamente. Na minha máquina, só é um problema se eu interromper uma macro durante a depuração, mas em outras máquinas, a atualização da tela fica desligada, deixando algumas situações muito confusas. Gosto que as coisas sejam previsíveis, e isso certamente não é!

Portanto, a dica do dia, quer você esteja escrevendo macros no Excel 97, Excel 2000 ou Excel 2002, sempre volte a atualizar a tela com:

Application.ScreenUpdating = True

Artigos interessantes...