Macro mais rápida ! É possível?
Página 1 de 1
Macro mais rápida ! É possível?
Olá pessoal, hoje vamos falar de alguns processo que podem agregar suas macros para deixá-las mais rápidas.
Antes de começar, vamos dizer que estes procedimentos não faz milagre. Seu projeto em si tem que ser bem estruturado.
Digamos que você fez uma macro que lê linha por linha, mais são 500.000 mil registros, neste caso não tem milagre, vai demorar um pouco mesmo.
Mais tem alguns procedimentos simples, como copiar e colar, inserir registros, fazer um formulário, fazer uma varredura, fazer um sistema de pesquisa que pode impactar o desempenho da macro.
Vamos detalhar alguns procedimentos,
1) Desabilita atualização de tela
Este código faz com que o Excel não fique atualizando a tela mostrando toda a movimentação que acontece. Assim é menos recurso para o computador processar.
2) Modo de cálculo manual
Sem dúvidas o mais utilizado em planilhas que utilizam fórmulas. Durante a execução da macro este código habilita o código manual e nenhum campo calculado será processado.
No final você habilita o processo e tudo será calculado.
3) Evite usar a área de transferência do excel
Durante o procedimento de colar e copiar alguns utilizam códigos que faz com que a área de transferência seja utilizada.
Sempre que possível utilize o código para ganhar tempo;
4) Desabilitar eventos do Excel
Alguns códigos são executados á partir de eventos que ocorrem no Excel, por exemplo ao mudar de planilha ou ao alterar dados. o Código abaixo desabilita estes eventos.
5) Desabilitar alertas do Excel
Quem nunca se deparou com alguns pop ups de confirmação no excel. O código abaixo desabilita esta opção, fazendo com que a macro não pare e espere pelo seu OK.
Bom pessoal é isto. Dependendo do código que você está escrevendo, você pode colocar todas estas dicas em práticas dentro do mesmo procedimento.
Só não esqueça de Habilitá-los no final. Alguns procedimentos vão com a planilha e pode complicar a vida de quem abre esta planilha
Exemplo disto é o comando que coloca o excel em cálculo manual e esquece de habilitar. O próximo que abrir a planilha fara o Excel ficar em cálculo manual.
Valeu e até a próxima.
Antes de começar, vamos dizer que estes procedimentos não faz milagre. Seu projeto em si tem que ser bem estruturado.
Digamos que você fez uma macro que lê linha por linha, mais são 500.000 mil registros, neste caso não tem milagre, vai demorar um pouco mesmo.
Mais tem alguns procedimentos simples, como copiar e colar, inserir registros, fazer um formulário, fazer uma varredura, fazer um sistema de pesquisa que pode impactar o desempenho da macro.
Vamos detalhar alguns procedimentos,
1) Desabilita atualização de tela
Este código faz com que o Excel não fique atualizando a tela mostrando toda a movimentação que acontece. Assim é menos recurso para o computador processar.
- Código:
Application.ScreenUpdating = False ' para você desabilitar e no final da macro coloque True para habilitar novamente.
2) Modo de cálculo manual
Sem dúvidas o mais utilizado em planilhas que utilizam fórmulas. Durante a execução da macro este código habilita o código manual e nenhum campo calculado será processado.
No final você habilita o processo e tudo será calculado.
- Código:
Application.Calculation = xlCalculationManual 'Desativa modo automático de cálculo
'E no final não esqueça de habilitar
Application.Calculation = xlCalculationAutomatic 'Habilita modo automático de cálculo
3) Evite usar a área de transferência do excel
Durante o procedimento de colar e copiar alguns utilizam códigos que faz com que a área de transferência seja utilizada.
- Código:
Range("A1:A200").Copy
Range("B1").PasteSpecial
Application.CutCopyMode = False 'Limpa a área de transferência
Sempre que possível utilize o código para ganhar tempo;
- Código:
Range("A1:A200").Copy Destination:= Range("B1")
4) Desabilitar eventos do Excel
Alguns códigos são executados á partir de eventos que ocorrem no Excel, por exemplo ao mudar de planilha ou ao alterar dados. o Código abaixo desabilita estes eventos.
- Código:
Application.EnableEvents = False 'Para desabilitar
Application.EnableEvents = True 'Para habilitar
5) Desabilitar alertas do Excel
Quem nunca se deparou com alguns pop ups de confirmação no excel. O código abaixo desabilita esta opção, fazendo com que a macro não pare e espere pelo seu OK.
- Código:
Application.DisplayAlerts = False ' Para desabilitar
Application.DisplayAlerts = False 'Para habilitar
Bom pessoal é isto. Dependendo do código que você está escrevendo, você pode colocar todas estas dicas em práticas dentro do mesmo procedimento.
Só não esqueça de Habilitá-los no final. Alguns procedimentos vão com a planilha e pode complicar a vida de quem abre esta planilha
Exemplo disto é o comando que coloca o excel em cálculo manual e esquece de habilitar. O próximo que abrir a planilha fara o Excel ficar em cálculo manual.
Valeu e até a próxima.
Tópicos semelhantes
» Macro que puxe dados de varias outras planilhas
» COMO USAR SOMASES COM MAIS DE 2 CRITÉRIOS COM INTERVALOS DE DATAS?
» COMO USAR SOMASES COM MAIS DE 2 CRITÉRIOS COM INTERVALOS DE DATAS?
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|