Schakel schermupdates uit - VBA-codevoorbeelden

Hoe cool het er ook uitziet om te zien hoe je VBA-macro het scherm manipuleert, je kunt je macro helpen sneller te werken als je ScreenUpdating uitschakelt (uitschakelt).

Scherm bijwerken uitschakelen

1. Om ScreenUpdating uit te schakelen, plaatst u aan het begin van uw code deze regel:

1 Application.ScreenUpdating = False

Schermupdate inschakelen

2. Om ScreenUpdating opnieuw in te schakelen, plaatst u aan het einde van uw code deze regel:

1 Application.ScreenUpdating = True

Voorbeeld van VBA-schermupdate

Uw procedure ziet er dan als volgt uit:

1234567891011 Sub ScreenUpdating_Example()Application.ScreenUpdating = False'Doe ietsBereik ("a1"). Bereik kopiëren ("b1")Bereik ("a2"). Bereik kopiëren ("b2")Bereik ("a3"). Bereik kopiëren ("b3")Application.ScreenUpdating = TrueEinde sub

SchermUpdaten Vernieuwen

Als u ScreenUpdating uitschakelt, wordt uw VBA-code VEEL sneller uitgevoerd, maar ziet uw werk er ook professioneler uit. Eindgebruikers willen doorgaans niet de acties achter de schermen van uw procedures zien (vooral wanneer de procedure traag verloopt). Ook wilt u misschien niet dat eindgebruikers de functionaliteit achter de schermen zien (bijv. Verborgen werkbladen). Ik raad aan om ScreenUpdating in vrijwel al uw procedures uit te schakelen (en opnieuw in te schakelen).

Er zijn echter momenten waarop u wilt dat het scherm wordt vernieuwd. Om het scherm te vernieuwen, moet u ScreenUpdating tijdelijk weer inschakelen (er is geen scherm "vernieuwen" commando):

123 Application.ScreenUpdating = True'Doe ietsApplication.ScreenUpdating = False

VBA-instellingen - Code versnellen

Er zijn verschillende andere instellingen om mee te spelen om je codesnelheid te verbeteren.

Het uitschakelen van automatische berekeningen kan een ENORM snelheidsverschil maken:

1 Toepassing. Berekening = xlHandmatig

Het uitschakelen van de statusbalk zal ook een klein verschil maken:

1 Application.DisplayStatusBar = False

Als uw werkmap gebeurtenissen bevat, moet u gewoonlijk gebeurtenissen aan het begin van uw procedure uitschakelen:

1 Application.EnableEvents = False

Ten slotte kan uw VBA-code worden vertraagd wanneer Excel probeert pagina-einden opnieuw te berekenen (Opmerking: niet alle procedures worden beïnvloed). Gebruik deze coderegel om het weergeven van pagina-einden uit te schakelen:

1 ActiveSheet.DisplayPageBreaks = False

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave