OK! Este é importante.
Qualquer bom procedimento de VBA sempre tem essa linha mencionada no início.
Application.Screenupdating = FALSE
E antes do final do procedimento você verá esta linha também.
Application.Screenupdating = TRUE
O que é ScreenUpdating?
A atualização de tela é propriedade dos objetos do aplicativo no VBA. Pode ser definido como TRUE ou FALSE. É como uma chave, que pode ser ligada ou desligada.
E o que ele faz?
A primeira linha acelera o processamento da macro, interrompendo a atualização da tela em tempo real do Excel.
Se você tiver uma macro longa que grava em planilhas diferentes, aplica filtros, remove filtros, altera planilhas, salva planilhas, etc. E se você não desativou as atualizações de tela usando a linha Application.Screenupdating = FALSE, então você verá o piscando na tela. Cada alteração feita pela macro na pasta de trabalho será mostrada dinamicamente. Isso diminui a velocidade da macro.
E se você tiver esta linha no início da macro, o Excel não refletirá as alterações feitas pela macro até que a atualização da tela seja ativada usando a linha Application.Screenupdating = TRUE.
Se você deseja acelerar sua macro, desabilite a atualização da tela no início da sub-rotina e habilite a atualização da tela antes do final da sub-rotina.
Aqui está um exemplo:
Sub Screencheck () Application.Screenupdating = FALSE 'Desabilitando a atualização da tela. Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "How are you?" Range ("A3"). Value = "Exceltip é incrível, não é?" Sheet2.Activate Application.Screenupdating = TRUE 'Habilitando a atualização da tela. End Sub
Ao executar o sub acima, você não verá a tela piscando. Você verá o resultado final do trabalho realizado por esta macro.
Anotações importantes:
Certifique-se de habilitar a atualização da tela antes de terminar o procedimento. Se você não habilitar a atualização da tela, não poderá ver o trabalho realizado pela macro.
Não é possível atualizar a tela antes de cada comando Exit Sub e End Sub. É comum esquecer a ativação das atualizações de tela antes de Exit Sub. Se você não fizer isso, poderá ficar se perguntando por que seu código não funcionou. Mas, na realidade, foi o que aconteceu. Você simplesmente não consegue ver.
É isso. Isso é o que Application.Screenupdating = False faz no VBA. Esta linha de código muda muito. É a diferença entre a programação madura e a programação descuidada. Se você deseja acelerar sua macro, sempre use esta linha em seu código.
Espero que tenha sido útil para você. Se você tiver alguma dúvida com relação a este artigo ou qualquer outra pergunta relacionada ao Excel / VBA, fique à vontade para perguntar na seção de comentários abaixo. Terei todo o gosto em ajudar.
Qual é a diferença entre os argumentos ByRef e ByVal? : Esta é uma questão importante do VBA. O ByVal e ByRef são usados para passar argumentos de maneira diferente. Um permite que a mudança seja feita na variável original, enquanto o outro não altera a variável original.
Como fazer loop em planilhas no Excel usando VBA : Enquanto automatiza as tarefas entediantes usuais do Excel no VBA, você terá a necessidade de percorrer cada planilha. Vamos começar com um exemplo. Código VBA para fazer loop em todas as planilhas no Activeworkbook e imprimir o nome da planilha
Eventos no Excel VBA: Às vezes, queremos que algo aconteça automaticamente quando um determinado evento ocorre. Para fazer algo quando um evento específico acontece no Excel, usamos o Excel VBA event
Artigos populares:
50 atalhos do Excel para aumentar sua produtividade | Torne sua tarefa mais rápida. Esses 50 atalhos farão você trabalhar ainda mais rápido no Excel.
A função VLOOKUP no Excel | Esta é uma das funções mais usadas e populares do Excel, que é usada para pesquisar valores em diferentes intervalos e planilhas.
CONT.SE no Excel 2016 | Conte valores com condições usando esta função incrível. Você não precisa filtrar seus dados para contar valores específicos. A função Countif é essencial para preparar seu painel.
Como usar a função SUMIF no Excel | Esta é outra função essencial do painel. Isso ajuda você a somar valores em condições específicas.