Wyłącz aktualizację ekranu - przykłady kodu VBA

Choć wygląda to fajnie, gdy makro VBA manipuluje ekranem, możesz przyspieszyć działanie makra, jeśli wyłączysz (wyłączysz) funkcję ScreenUpdating.

Wyłącz aktualizację ekranu

1. Aby wyłączyć ScreenUpdating, na początku kodu umieść tę linię:

1 Application.ScreenUpdating = Fałsz

Włącz aktualizację ekranu

2. Aby ponownie włączyć ScreenUpdating, na końcu kodu umieść ten wiersz:

1 Application.ScreenUpdating = Prawda

Przykład aktualizacji ekranu VBA

Twoja procedura będzie wtedy wyglądać tak:

1234567891011 PodekranAktualizacja_Przykład()Application.ScreenUpdating = Fałsz'Zrób cośZakres("a1").Zakres kopiowania("b1")Zakres("a2").Zakres kopiowania("b2")Zakres("a3").Zakres kopiowania("b3")Application.ScreenUpdating = PrawdaNapis końcowy

Odświeżanie ekranu

Wyłączenie funkcji ScreenUpdating sprawi, że Twój kod VBA będzie działał DUŻO szybciej, ale także sprawi, że Twoja praca będzie wyglądać bardziej profesjonalnie. Użytkownicy końcowi zazwyczaj nie chcą widzieć zakulisowych działań procedur (zwłaszcza, gdy procedura działa wolno). Ponadto możesz nie chcieć, aby użytkownicy końcowi widzieli funkcje zakulisowe (np. Ukryte arkusze robocze). Zalecam wyłączenie (i ponowne włączenie) funkcji ScreenUpdating w praktycznie wszystkich procedurach.

Czasami jednak chcesz, aby ekran się odświeżył. Aby odświeżyć ekran, musisz tymczasowo ponownie włączyć ScreenUpdating (nie ma polecenia „odśwież” ekranu):

123 Application.ScreenUpdating = Prawda'Zrób cośApplication.ScreenUpdating = Fałsz

Ustawienia VBA - kod przyspieszenia

Istnieje kilka innych ustawień, z którymi można się bawić, aby poprawić szybkość kodu.

Wyłączenie automatycznych obliczeń może spowodować OGROMNĄ różnicę w szybkości:

1 Aplikacja.Obliczenia = xlPodręcznik

Wyłączenie paska stanu również zrobi małą różnicę:

1 Application.DisplayStatusBar = False

Jeśli skoroszyt zawiera zdarzenia, zwykle należy wyłączyć zdarzenia na początku procedury:

1 Application.EnableEvents = False

Wreszcie kod VBA może zostać spowolniony, gdy program Excel spróbuje ponownie obliczyć podziały stron (uwaga: nie będzie to miało wpływu na wszystkie procedury). Aby wyłączyć wyświetlanie podziałów stron, użyj tego wiersza kodu:

1 ActiveSheet.DisplayPageBreaks = Fałsz

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave