Slå skærmopdatering fra - eksempler på VBA -kode

Så sejt som det ser ud, når du ser din VBA -makro manipulere skærmen, kan du hjælpe din makro med at køre hurtigere, hvis du slukker (deaktiverer) ScreenUpdating.

Deaktiver skærmopdatering

1. For at deaktivere ScreenUpdating, sæt denne linje i begyndelsen af ​​din kode:

1 Application.ScreenUpdating = Falsk

Aktiver skærmopdatering

2. For at genaktivere ScreenUpdating, sæt denne linje i slutningen af ​​din kode:

1 Application.ScreenUpdating = True

Eksempel på VBA -skærmopdatering

Din procedure ser derefter sådan ud:

1234567891011 Sub ScreenUpdating_Example ()Application.ScreenUpdating = Falsk'Gør nogetOmråde ("a1"). Kopieringsområde ("b1")Område ("a2"). Kopieringsområde ("b2")Område ("a3"). Kopieringsområde ("b3")Application.ScreenUpdating = TrueAfslut Sub

Skærmopdatering Opdater

Deaktivering af ScreenUpdating vil få din VBA -kode til at køre MEGET hurtigere, men det vil også få dit arbejde til at se mere professionelt ud. Slutbrugere ønsker typisk ikke at se handlingerne bag kulisserne i dine procedurer (især når proceduren kører langsomt). Du vil måske heller ikke have, at slutbrugere skal se funktionen bag kulisserne (f.eks. Skjulte regneark). Jeg anbefaler, at du deaktiverer (og genaktiverer) ScreenUpdating i stort set alle dine procedurer.

Der er dog nogle gange, hvor du vil have skærmen opdateret. For at opdatere skærmen skal du midlertidigt tænde for ScreenUpdating (der er ingen kommando "opdater" på skærmen):

123 Application.ScreenUpdating = True'Gør nogetApplication.ScreenUpdating = Falsk

VBA -indstillinger - Fremskynd kode

Der er flere andre indstillinger at spille med for at forbedre din kodehastighed.

Deaktivering af automatiske beregninger kan gøre en KÆMPE forskel i hastighed:

1 Application.Calculation = xlManual

Deaktivering af statuslinjen vil også gøre en lille forskel:

1 Application.DisplayStatusBar = Falsk

Hvis din projektmappe indeholder begivenheder, bør du normalt deaktivere begivenheder i begyndelsen af ​​din procedure:

1 Application.EnableEvents = Falsk

Sidst kan din VBA-kode bremses, når Excel forsøger at genberegne sideskift (Bemærk: ikke alle procedurer påvirkes). Brug denne kodelinje til at deaktivere visning af sideskift:

1 ActiveSheet.DisplayPageBreaks = Falsk

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave