Hem Sociala medier 10 Sätt att öka dina makroner - dummies

10 Sätt att öka dina makroner - dummies

Innehållsförteckning:

Video: How to Cook Healthy Food! 10 Breakfast Ideas, Lunch Ideas & Snacks for School, Work! 2025

Video: How to Cook Healthy Food! 10 Breakfast Ideas, Lunch Ideas & Snacks for School, Work! 2025
Anonim

Eftersom dina Excel-makron blir alltmer robusta och komplexa kan du upptäcka att de förlorar prestanda. När man diskuterar makron är ordet prestanda vanligtvis synonymt med hastighet . Hastigheten är hur snabbt dina VBA-procedurer utför sina avsedda uppgifter. Följande är tio sätt att hjälpa till att hålla dina Excel-makronar på sin optimala prestationsnivå.

Avslutande arkberäkningar

Visste du att varje gång en cell som påverkar någon formel i ditt kalkylblad ändras eller manipuleras, räknar Excel om hela kalkylbladet? I arbetsblad som har en stor mängd formler kan detta beteende drastiskt sakta ner dina makron.

Du kan använda programmet. Beräkningsegenskaper för att berätta för Excel att växla till manuell beräkningsläge. När en arbetsbok är i manuell beräkningsläge, beräknas arbetsboken inte förrän du uttryckligen utlöser en beräkning genom att trycka på F9-tangenten.

Placera Excel i manuell beräkningsläge, kör koden och växla sedan tillbaka till automatisk beräkningsläge.

Sub Macro1 () Application. Beräkning = xlCalculationManual 'Placera din makrokod här Application. Beräkning = xlCalculationAutomatic End Sub

Inställning av beräkningsläget tillbaka till xlCalculationAutomatic utlöser automatiskt en omräkning av arbetsbladet, så det behöver inte tryckas på F9-tangenten när makroen har körts.

Inaktivera arkskärmens uppdatering

Du kanske märker att när dina makron körs, gör skärmen en hel del flimrande. Detta flimrar är Excel som försöker att omradera skärmen för att visa det aktuella läget i kalkylbladet. Tyvärr, varje gång Excel redraws skärmen tar det upp minnesresurser.

Du kan använda programmet. ScreenUpdating-egenskapen för att inaktivera skärmuppdateringar tills ditt makro har slutfört. Inaktivera skärmuppdatering sparar tid och resurser, så att ditt makro kan springa lite snabbare. När din makrokod har slutförts kan du aktivera skärmens uppdatering igen.

Sub Macro1 () Application. Beräkning = xlCalculationManual Application. ScreenUpdating = False 'Placera din makrokod här Application. Beräkning = xlCalculationAutomatic Application. ScreenUpdating = True End Sub

När du har satt egenskapen ScreenUpdating tillbaka till True, utlöser Excel automatiskt en ombakadragning av skärmen.

Slå av statusrapporter

Excel-statusfältet, som visas längst ned i Excel-fönstret, visar normalt hur vissa åtgärder i Excel utförs.Om ditt makro arbetar med mycket data kommer statusfältet att ta upp vissa resurser.

Det är viktigt att notera att avstängning av skärmuppdatering är skild från att stänga av statusfältet. Statusfältet fortsätter att uppdateras även om du inaktiverar skärmuppdatering. Du kan använda programmet. DisplayStatusBar-egenskapen för att tillfälligt inaktivera uppdateringar i statusfältet, ytterligare förbättra prestanda för ditt makro:

Sub Macro1 () Application. Beräkning = xlCalculationManual Application. ScreenUpdating = False Application. DisplayStatusBar = False 'Placera din makrokod här Application. Beräkning = xlCalculationAutomatic Application. ScreenUpdating = Sann applikation. DisplayStatusBar = True End Sub

Berätta Excel för att ignorera händelser

Du kan implementera makron som händelseförfaranden, och berätta för Excel att köra viss kod när ett arbetsblad eller arbetsbok ändras.

Ibland gör standardmakroner ändringar som utlöser ett händelseförfarande. Om du till exempel har ett standardmakro som manipulerar flera celler på Sheet1, varje gång en cell på det arket ändras, måste ditt makro pausa medan Worksheet_Change-händelsen körs.

Du kan lägga till en annan nivå av prestandaökning genom att använda egenskapen EnableEvents för att berätta för Excel att ignorera händelser medan ditt makro körs.

Ställ egenskapen EnableEvents till False innan du kör ditt makro. När din makrokod är färdig kan du ange egenskapen EnableEvents till True.

Sub Macro1 () Application. Beräkning = xlCalculationManual Application. ScreenUpdating = False Application. DisplayStatusBar = Falskt program. EnableEvents = False 'Placera din makrokod här Application. Beräkning = xlCalculationAutomatic Application. ScreenUpdating = Sann applikation. DisplayStatusBar = Sann applikation. EnableEvents = True End Sub

Döljer sidbrytningar

Varje gång ditt makro ändrar antalet rader, ändrar antalet kolumner eller ändrar sidinställningen i ett arbetsblad, är Excel tvungen att ta tid att beräkna de sidbrytningar som visas på arket.

Du kan undvika detta beteende genom att helt enkelt dölja sidbrytningarna innan du startar ditt makro.

Ställ egenskapen DisplayPageBreaks på False för att dölja sidbrytningar. Om du vill fortsätta att visa sidbrytningar efter att ditt makro körs, ställer du in egenskapen DisplayPageBreaks-arket tillbaka till True.

Sub Macro1 () Application. Beräkning = xlCalculationManual Application. ScreenUpdating = False Application. DisplayStatusBar = Falskt program. EnableEvents = Falskt Aktivitetsblad. DisplayPageBreaks = False "Placera din makrokod här Application. Beräkning = xlCalculationAutomatic Application. ScreenUpdating = Sann applikation. DisplayStatusBar = Sann applikation. EnableEvents = True Aktivitetsblad. DisplayPageBreaks = True End Sub

Uppdaterade pivottabelluppdateringar

Om ditt makro manipulerar pivottabeller som innehåller stora datakällor kan du uppleva dålig prestanda när du gör saker som att dynamiskt lägga till eller flytta pivotfält.

Du kan förbättra prestanda för ditt makro genom att suspendera omräkningen av pivottabellen tills alla pivottfältförändringar har gjorts. Ställ in pivottabellen. ManuelltUppdatera egenskapen till True för att skjuta omberäkning, kör din makrokod och ställ sedan in pivottabellen. ManuelltUppdatera egenskapen tillbaka till False för att utlösa omräkning.

Sub Macro1 () ActiveSheet. Pivottabeller ("PivotTable1"). ManualUpdate = True 'Placera din makrokod här ActiveSheet. Pivottabeller ("PivotTable1"). ManualUpdate = False End Sub

Hantering av kopiering och klistra in

Det är viktigt att komma ihåg att även om Macro Recorder sparar tid genom att skriva VBA-kod för dig skriver den inte alltid den mest effektiva koden. Ett utmärkt exempel är hur Macro Recorder fångar alla kopior och klistra åtgärder du utför när du spelar in.

Du kan ge dina makron ett litet steg genom att klippa mellann och utföra en direkt kopia från en cell till en destinationscell. Denna alternativa kod använder destinationsargumentet för att kringgå urklippet och kopiera innehållet i cell A1 direkt till cell B1.

Range ("A1"). Kopiera destination: = Område ("B1")

Om du bara behöver kopiera värden (inte formatering eller formler) kan du förbättra prestandan ännu mer genom att undvika kopieringsmetoden alla tillsammans. Ange enkelt värdet för destinationscellen till samma värde som finns i källcellen. Denna metod är ungefär 25 gånger snabbare än att använda kopieringsmetoden:

Område ("B1"). Värde = Område ("A1"). Värde

Om du bara behöver kopiera formler från en cell till en annan (inte värden eller formatering) kan du ställa in formuläret för destinationscellen till samma formel som finns i källcellen:

Område ("B1"). Formel = Range ("A1"). Formel

Använda med-satsen

Vid inspelning av makron kommer du ofta att manipulera samma objekt mer än en gång. Du kan spara tid och förbättra prestanda genom att använda Med-förklaringen för att utföra flera åtgärder på ett visst objekt i ett skott.

Med-satsen som används i följande exempel berättar Excel att tillämpa alla formateringsändringar på en gång:

Med Range ("A1"). Font. Fet = sant Kursiv = True. Underline = xlUnderlineStyleSingle End With

Att bli vana med att chunking åtgärder i Med uttalanden kommer inte bara att hålla dina makron springa snabbare men också göra det enklare att läsa din makro kod.

Undvik valmetoden

Makroinspelaren är förtjust i att använda Select-metoden för att explicit välja valda objekt innan de vidtar åtgärder på dem. Det finns vanligtvis inget behov av att välja objekt innan de arbetar med dem. Faktum är att du kan förbättra makroprestanda dramatiskt genom att inte använda Select-metoden.

Efter att ha spelat in dina makron, gör det vanligt att ändra den genererade koden för att ta bort Select-metoderna. I det här fallet ser den optimerade koden ut som följande:

Ark ("Sheet1"). Range ("A1"). FormulaR1C1 = "1000" Sheets ("Sheet2"). Range ("A1"). FormulaR1C1 = "1000" Sheets ("Sheet3"). Range ("A1"). FormulaR1C1 = "1000"

Observera att ingenting väljs.Koden använder helt enkelt objekthierarkin för att tillämpa de åtgärder som behövs.

Begränsa resor till arbetsbladet

Ett annat sätt att påskynda makronerna är att begränsa antalet gånger du refererar till kalkylbladsdata i din kod. Det är alltid mindre effektivt att ta tag i data från kalkylbladet än från minnet. Det vill säga, dina makron kommer att springa mycket snabbare om de inte behöver repetera flera gånger med kalkylbladet.

Följande enkla kod tvingar exempelvis VBA att kontinuerligt återgå till Ark ("Sheet1"). Område ("A1") för att få numret som behövs för att jämförelsen ska utföras i If-satsen:

För ReportMonth = 1 till 12 Om Range ("A1"). Value = ReportMonth Sedan MsgBox 1000000 / ReportMonth End Om Next ReportMonth

En mycket effektivare metod är att spara värdet i Ark ("Sheet1"). Område ("A1") till en variabel som heter MyMonth. På så sätt refererar koden till MyMonth-variabeln istället för kalkylbladet:

Dim MyMonth som Integer MyMonth = Range ("A1"). Value For ReportMonth = 1 till 12 Om MyMonth = ReportMonth Then MsgBox 1000000 / ReportMonth Enda om Next ReportMonth

Överväg att använda variabler för att arbeta med data i minnet i motsats till att direkt referera till arbetsblad.

10 Sätt att öka dina makroner - dummies

Redaktörens val

Vad är en Java-karta? - dummies

Vad är en Java-karta? - dummies

Arrays och specialiserade listor gör det möjligt att utföra en fantastisk uppsättning uppgifter med Java. Det finns dock situationer där en Java-applikation behöver något som är mer relaterat till en databas, utan att egentligen ha allt databasbagage (som att behöva köpa en separat applikation). Till exempel kanske du vill kunna ...

Några få saker om Java Math - dummies

Några få saker om Java Math - dummies

Tro det eller inte, datorer - även de mest kraftfulla - Ha vissa begränsningar när det gäller att utföra matematiska beräkningar. Dessa begränsningar är vanligtvis obetydliga, men ibland slår de sig och biter på dig. Här är de saker du behöver se upp för när du gör matte i Java. Helhetsflöde Det grundläggande problemet ...

Vad är recursion i Java Programmering? - dummies

Vad är recursion i Java Programmering? - dummies

Rekursion är en grundläggande programmeringsteknik som du kan använda i Java, där en metod kallar sig för att lösa ett problem. En metod som använder denna teknik är rekursiv. Många programmeringsproblem kan lösas endast genom rekursion, och vissa problem som kan lösas med andra tekniker löses bättre genom rekursion. En av ...

Redaktörens val

4 Måste-inkludera i din blogg sidobardesign - dummies

4 Måste-inkludera i din blogg sidobardesign - dummies

Din bloggens sidofält är viktig fastighet som bör innehålla de element du vill ha mest. När du utformar din blogg sidofält kan du dra från en nästan oändlig lista över sidospårelement. Genom att välja noggrant vad som ska inkluderas (och vad som inte ska inkluderas) kan du ställa in din blogg från andra.

5 Användbara Wordpress Plugins - dummies

5 Användbara Wordpress Plugins - dummies

Om du bloggar på en självhävd plattform med WordPress-programvara, är det dags att anpassa din blogg med plug-ins - programvara som kan "anslutas" till din befintliga WordPress bloggprogramvara. Plug-ins gör det möjligt för dig att göra allt från funktionsbildspel i dina blogginlägg för att ansluta sociala medier till din webbplats. Här är fem användbara ...

7 Sätt att erövra Writer's Block som en Blogger - dummies

7 Sätt att erövra Writer's Block som en Blogger - dummies

Varje bloggare möter författarens block i ett tid eller annan. Om du är den typ av bloggare som sköter innehåll varje dag, kan författarens block vara stäverande. Kan du inte ta en paus för att få ditt skrivande mojo tillbaka? Prova en (eller flera) av dessa sju sätt att slå författarens block för att få dig tillbaka ...

Redaktörens val

10 Stora elektronikkomponentkällor - dummies

10 Stora elektronikkomponentkällor - dummies

Letar du efter några bra källor till dina elektroniska delar? Denna lista ger dig några fleråriga favoriter, både inom och utanför Nordamerika. Denna lista är inte uttömmande. Du hittar bokstavligen tusentals specialutbud för ny och begagnad elektronik. Plus, Amazon och eBay ger virtuella marknadsplatser för alla sorters säljare - ...

Elektronik Basics: Resistance - dummies

Elektronik Basics: Resistance - dummies

I elektronikvärlden är motståndet inte meningslöst. Faktum är att motstånd kan vara mycket användbart. Utan motstånd skulle elektronik inte vara möjligt. Elektronik handlar om att manipulera strömmen av ström, och ett av de mest grundläggande sätten att manipulera strömmen är att minska det genom resistans. Utan motstånd strömmar strömmen oreglerad och där ...

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

Digital elektronik: Så här installerar du BASIC Stamp Editor och Anslut till Stämpeldummorna

För att berätta för BASIC Stamp vad du vill göra i ditt digitala elektronikprojekt måste du programmera det. BASIC Stamp Windows Editor är den programvara som du använder på din dator för att skapa program som kan laddas ner till en BASIC Stamp-mikrokontroller. Denna programvara är tillgänglig gratis från Parallax webbplats. ...