Ok! Den här är viktig.
Varje bra VBA -procedur har alltid den här raden nämnd i början.
Application.Screenupdating = FALSE
Och innan proceduren är slut kommer du också att se den här raden.
Application.Screenupdating = TRUE
Vad är ScreenUpdating?
Screenupdating är egenskapen för applikationsobjekt i VBA. Den kan ställas in på TRUE eller FALSE. Det är som en omkopplare som kan slås på eller av.
Och vad gör det?
Den första raden påskyndar makrobearbetningen genom att stoppa uppdateringen av Excel -skärmen i realtid.
Om du har ett långt makro som skriver in i olika blad, använder filter, tar bort filter, ändrar blad, sparar arbetsböcker etc. Och om du inte har stängt av skärmuppdateringar med raden Application.Screenupdating = FALSE, kommer du att se flimrar på skärmen. Varje förändring som görs av makro i arbetsboken kommer att visas dynamiskt. Detta saktar ner makrohastigheten.
Och om du har den här raden i början av makrot kommer Excel inte att återspegla ändringar som gjorts av makro förrän skärmuppdatering är aktiverad med raden Application.Screenupdating = TRUE.
Om du vill påskynda ditt makro, inaktivera skärmuppdateringen i början av delrutan och aktivera skärmuppdateringen före slutet av delrutan.
Här är ett exempel:
Sub Screencheck () Application.Screenupdating = FALSE 'Inaktiverar skärmuppdateringen. Sheet1.Activate Range ("A1"). Value = "Hi" Range ("A2"). Value = "Hur mår du?" Range ("A3"). Value = "Exceltip är fantastiskt, eller hur?" Ark 2. Aktivera Application.Screenupdating = TRUE 'Aktiverar skärmuppdatering. Avsluta Sub
När du kör ovanstående del kommer du inte att se någon skärm som flimrar. Du kommer att se det slutliga resultatet av arbetet med detta makro.
Viktiga anteckningar:
Se till att du aktiverar skärmuppdateringen innan proceduren avslutas. Om du inte aktiverar skärmuppdateringen kommer du inte att kunna se makrons arbete.
Det gick inte att uppdatera skärmen före varje Exit Sub- och End Sub -kommando. Det är vanligt att glömma att aktivera skärmuppdateringar innan Exit Sub. Om du inte gör det kan du fortsätta undra varför din kod inte fungerade. Men i verkligheten gjorde det det. Du kan bara inte se det.
Det är allt. Detta är vad Application.Screenupdating = False gör i VBA. Denna enda kodrad förändras mycket. Det är skillnaden mellan mogen programmering och slarvig programmering. Om du vill påskynda ditt makro, använd alltid den här raden i din kod.
Jag hoppas att detta var till hjälp för dig. Om du har några tvivel angående den här artikeln eller har andra Excel/VBA -relaterade frågor är du välkommen att fråga i kommentarfältet nedan. Jag hjälper dig gärna.
Vad är skillnaden mellan ByRef- och ByVal -argument? : Detta är en viktig VBA -fråga. ByVal och ByRef används för att skicka argument på olika sätt. Den ena låter ändringen göras i den ursprungliga variabeln medan den andra inte ändrar den ursprungliga variabeln.
Hur man går igenom ark i Excel med VBA : Medan du automatiserar de vanliga tråkiga uppgifterna för excel i VBA, kommer du att behöva bläddra igenom varje ark. Låt oss börja med ett exempel. VBA -kod att slinga i alla blad i Activeworkbook och skriva ut bladnamn
Händelser i Excel VBA: Ibland vill vi att något ska hända automatiskt när en viss händelse inträffar. För att göra något när en specifik händelse händer i Excel använder vi Excel VBA -händelse
Populära artiklar:
50 Excel -genvägar för att öka din produktivitet | Bli snabbare på din uppgift. Dessa 50 genvägar får dig att arbeta ännu snabbare med Excel.
VLOOKUP -funktionen i Excel | Detta är en av de mest använda och populära Excel -funktionerna som används för att leta upp värde från olika intervall och ark.
COUNTIF i Excel 2016 | Räkna värden med förhållanden med denna fantastiska funktion. Du behöver inte filtrera dina data för att räkna specifika värden. Countif -funktionen är avgörande för att förbereda din instrumentpanel.
Hur man använder SUMIF -funktionen i Excel | Detta är en annan viktig instrumentpanel. Detta hjälper dig att summera värden på specifika förhållanden.