Dezactivați Actualizarea ecranului - Exemple de cod VBA

Pe cât de mișto pare să urmărești macrocomenzile VBA manipulând ecranul, poți ajuta Macro-ul să ruleze mai repede dacă oprești (dezactivezi) ScreenUpdating.

Dezactivați ScreenUpdating

1. Pentru a dezactiva ScreenUpdating, la începutul codului dvs. puneți această linie:

1 Application.ScreenUpdating = Fals

Activați ScreenUpdating

2. Pentru a reactiva ScreenUpdating, la sfârșitul codului, puneți această linie:

1 Application.ScreenUpdating = Adevărat

Exemplu VBA ScreenUpdating

Procedura dvs. va arăta astfel:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = Fals'Fă cevaGama ("a1"). Gama de copiere ("b1")Gama ("a2"). Gama de copiere ("b2")Gama ("a3"). Gama de copiere ("b3")Application.ScreenUpdating = AdevăratSfârșitul Sub

Actualizare ecran actualizare

Dezactivarea ScreenUpdating va face ca codul VBA să ruleze MULTE mai repede, dar vă va face și munca să pară mai profesională. Utilizatorii finali nu doresc de obicei să vadă acțiunile din culise ale procedurilor dvs. (mai ales atunci când procedura rulează lent). De asemenea, este posibil să nu doriți ca utilizatorii finali să vadă funcționalitatea din culise (de exemplu, foi de lucru ascunse). Vă recomandăm să dezactivați (și să reactivați) ScreenUpdating în practic toate procedurile dvs.

Cu toate acestea, există anumite momente când doriți ca ecranul să se reîmprospăteze. Pentru a reîmprospăta ecranul, va trebui să reveniți temporar la ScreenUpdating (nu există o comandă de „reîmprospătare” a ecranului):

123 Application.ScreenUpdating = Adevărat'Fă cevaApplication.ScreenUpdating = Fals

Setări VBA - Cod de accelerare

Există mai multe alte setări pentru a vă juca pentru a vă îmbunătăți viteza codului.

Dezactivarea calculelor automate poate face o diferență uriașă în viteză:

1 Application.Calculation = xlManual

Dezactivarea barei de stare va face, de asemenea, o mică diferență:

1 Application.DisplayStatusBar = Fals

Dacă registrul de lucru conține evenimente, ar trebui să dezactivați evenimentele la începutul procedurii:

1 Application.EnableEvents = Fals

În sfârșit, codul VBA poate fi încetinit atunci când Excel încearcă să recalculeze pauzele de pagină (Notă: nu toate procedurile vor fi afectate). Pentru a dezactiva afișarea întreruperilor de pagină, utilizați această linie de cod:

1 ActiveSheet.DisplayPageBreaks = Fals

Vei ajuta la dezvoltarea site-ului, partajarea pagina cu prietenii

wave wave wave wave wave