Okay! Denne er vigtig.
Enhver god VBA -procedure har altid denne linje nævnt i begyndelsen.
Application.Screenupdating = FALSKT
Og inden procedurens afslutning vil du også se denne linje.
Application.Screenupdating = SAND
Hvad er ScreenUpdating?
Screenupdating er egenskaben for applikationsobjekter i VBA. Den kan indstilles til SAND eller FALSK. Det er som en switch, der kan tændes eller slukkes.
Og hvad gør det?
Den første linje øger makrobehandlingen ved at stoppe skærmopdatering i realtid af Excel.
Hvis du har en lang makro, der skriver ind i forskellige ark, anvender filtre, fjerner filtre, ændrer ark, gemmer projektmapper osv. Og hvis du ikke har deaktiveret skærmopdateringer ved hjælp af linjen Application.Screenupdating = FALSE, vil du se flimrer på skærmen. Hver ændring udført af makro i projektmappen vil blive vist dynamisk. Dette bremser makrohastigheden.
Og hvis du har denne linje i begyndelsen af makroen, vil excel ikke afspejle ændringer foretaget af makro, før skærmopdatering er aktiveret ved hjælp af linjen Application.Screenupdating = TRUE.
Hvis du vil fremskynde din makro, skal du deaktivere skærmopdateringen i begyndelsen af underprogrammet og aktivere skærmopdateringen inden afslutningen af underprogrammet.
Her er et eksempel:
Under Screencheck () Application.Screenupdating = FALSE 'Deaktivering af skærmopdatering. Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "Hvordan går det?" Range ("A3"). Value = "Exceltip er fantastisk, ikke sandt?" Ark 2.Aktiver Application.Screenupdating = TRUE 'Aktiverer skærmopdatering. Afslut Sub
Når du kører ovenstående sub, vil du ikke se nogen skærm, der flimrer. Du vil se det endelige resultat af arbejde udført af denne makro.
Vigtige bemærkninger:
Sørg for, at du aktiverer skærmopdateringen, før din procedure slutter. Hvis du ikke aktiverer skærmopdateringen, kan du ikke se makroens arbejde.
Kan ikke opdatere skærmen før hver Exit Sub- og End Sub -kommando. Det er almindeligt at glemme at aktivere skærmopdateringer før Exit Sub. Hvis du ikke gør dette, kan du blive ved med at spekulere på, hvorfor din kode ikke fungerede. Men i virkeligheden gjorde det det. Du kan bare ikke se det.
Det er det. Dette er, hvad Application.Screenupdating = False gør i VBA. Denne ene kodelinje ændrer meget. Det er forskellen mellem moden programmering og skødesløs programmering. Hvis du vil fremskynde din makro, skal du altid bruge denne linje i din kode.
Jeg håber, at dette var nyttigt for dig. Hvis du er i tvivl om denne artikel eller har andre Excel/VBA -relaterede spørgsmål, er du velkommen til at stille i kommentarfeltet herunder. Jeg hjælper gerne.
Hvad er forskellen mellem ByRef og ByVal argumenter? : Dette er et vigtigt VBA -spørgsmål. ByVal og ByRef bruges til at videregive argumenter forskelligt. Den ene lader ændringen foretages i den originale variabel, mens den anden ikke ændrer den originale variabel.
Sådan går du gennem ark i Excel ved hjælp af VBA : Mens du automatiserer de sædvanlige kedelige opgaver med excel i VBA, får du behovet for at gå gennem hvert ark. Lad os starte med et eksempel. VBA -kode til loop i alle ark i Activeworkbook og printarknavn
Begivenheder i Excel VBA: Nogle gange ønsker vi, at noget skal ske automatisk, når der sker en bestemt hændelse. For at gøre noget, når en bestemt hændelse sker i Excel, bruger vi Excel VBA -begivenhed
Populære artikler:
50 Excel -genveje til at øge din produktivitet | Få hurtigere til din opgave. Disse 50 genveje får dig til at arbejde endnu hurtigere i Excel.
VLOOKUP -funktionen i Excel | Dette er en af de mest anvendte og populære funktioner i excel, der bruges til at slå værdi op fra forskellige områder og ark.
COUNTIF i Excel 2016 | Tæl værdier med betingelser ved hjælp af denne fantastiske funktion. Du behøver ikke at filtrere dine data for at tælle bestemte værdier. Countif -funktion er afgørende for at forberede dit dashboard.
Sådan bruges SUMIF -funktionen i Excel | Dette er endnu en vigtig instrumentbrætfunktion. Dette hjælper dig med at opsummere værdier på bestemte betingelser.