Hem Sociala medier Excel 2016 VBA Speed ​​Tips - dummies

Excel 2016 VBA Speed ​​Tips - dummies

Innehållsförteckning:

Video: 6 Ways to Speed up your Excel Macros 2025

Video: 6 Ways to Speed up your Excel Macros 2025
Anonim

VBA för Excel 2016 är snabb, men det är inte alltid tillräckligt snabbt. (Datorprogrammen är aldrig tillräckligt snabba.) Fortsätt läsa för att upptäcka några programmeringsexempel som du kan använda för att påskynda dina makron.

Stäng av skärmuppdatering

När du kör ett makro kan du luta dig tillbaka och titta på all skärmverkan som inträffar i makron. Även om du gör det här kan det vara lärorikt, efter att du har fått makroen att fungera ordentligt, är det ofta irriterande och kan långsamt minska ditt makros prestanda. Lyckligtvis kan du inaktivera skärmuppdateringen som normalt inträffar när du kör ett makro. För att stänga av skärmens uppdatering, använd följande uttalande:

Application. ScreenUpdating = False

Om du vill att användaren ska se vad som händer när som helst under makroet använder du följande påstående om du vill aktivera skärmens uppdatering:

Application. ScreenUpdating = True

För att visa skillnaden i hastighet, kör det här enkla makroet, vilket fyller ett intervall med siffror:

Sub FillRange () Dimma så länge, c Så länge Dim Dim Number as Long Number = 0 För r = 1 till 50 för c = 1 till 50 nummer = antal + 1 celler (r, c). Välj celler (r, c). Värde = Antal Nästa c Nästa r Slut Sub

Du ser att varje cell väljs och värdet anges i cellerna. Lägg nu följande inlägg i början av proceduren och kör det igen:

Application. ScreenUpdating = False

Sortimentet fylls mycket snabbare och du ser inte resultatet tills makroen är klar och uppdateringen av skärmen ställs automatiskt in på True.

När du är debugging-kod slutar programkörningen ibland någonstans i mitten utan att du har vänt på skärmuppdatering igen. Detta orsakar ibland att Excel-applikationsfönstret blir helt oansvarigt. Vägen ut ur denna frusna tillstånd är enkel: Gå tillbaka till VBE, och kör följande påstående i fönstret Omedelbart:

Application. ScreenUpdating = True

Släcker automatisk beräkning

Om du har ett arbetsblad med många komplexa formler kan du upptäcka att du kan påskynda saker väsentligt genom att ställa in beräkningsläget manuellt medan makroet körs. När makroen är klar, ställ in beräkningsläget tillbaka till automatiskt.

Följande redogörelse ställer in Excel-beräkningsläget till manuell:

Application. Beräkning = xlCalculationManual

Utför nästa uttalande för att ställa in beräkningsläget automatiskt:

Application. Beräkning = xlCalculationAutomatic

Om din kod använder celler med formelresultat, innebär avstängning att cellerna inte kommer att beräknas om du inte uttryckligen säger Excel att göra det!

Eliminera de irriterande varningsmeddelandena

Som du vet kan ett makro automatiskt utföra en rad åtgärder. I många fall kan du starta ett makro och sedan hänga i pausrummet medan Excel gör sin sak. Vissa Excel-funktioner visar dock meddelanden som kräver ett mänskligt svar. Dessa typer av meddelanden innebär att du inte kan lämna Excel obevakad när den kör ditt makro - om du inte känner till det hemliga tricket.

Du kan instruera Excel att inte visa dessa typer av varningar när du kör ett makro.

Det hemliga tricket att undvika dessa varningsmeddelanden sätter in följande VBA-formulär i ditt makro:

Application. DisplayAlerts = False

Excel kör standardoperationen för dessa typer av meddelanden. Vid radering av ett ark är standardoperationen Radera. Om du inte är säker på vad standardoperationen är, utför ett test för att se vad som händer.

När proceduren avslutas, återställer Excel automatiskt egenskapen DisplayAlerts till True. Om du behöver slå på varningarna igen innan proceduren avslutas, använd det här uttalandet:

Application. DisplayAlerts = True

Förenkla objektreferenser

Som du säkert vet redan kan referenser till objekt bli mycket långa. Till exempel kan en fullständigt kvalificerad referens till ett Range-objekt se ut så här:

Arbetsböcker ("MyBook. Xlsx"). Arbetsblad ("Sheet1") _. Område ("InterestRate")

Om ditt makro ofta använder detta intervall kanske du vill skapa en objektvariabel med hjälp av kommandot Ange. Till exempel tilldelas följande raderingsobjekt till en objektvariabel med namnet Rate:

Set Rate = Workbooks ("MyBook. Xlsx") _. Arbetsblad (”Blad1”). Range ("InterestRate")

När du har definierat den här objektvariabeln kan du använda variabelhastigheten snarare än den långa referensen. Du kan till exempel ändra värdet på cellen som heter InterestRate:

Rate. Värde =. 085

Det här är mycket lättare att skriva än följande uttalande:

Arbetsböcker ("MyBook. Xlsx"). Arbetsblad (”Blad1”). _ Range ("InterestRate") =. 085

Förutom att förenkla din kodning, använder objektvariablerna din makron avsevärt.

Deklarera variabla typer

Du behöver vanligtvis inte oroa dig för vilken typ av data du tilldelar en variabel. Excel hanterar alla detaljer för dig bakom kulisserna. Om du till exempel har en variabel som heter MyVar, kan du tilldela ett antal av vilken typ som helst till den variabeln. Du kan till och med tilldela en textsträng till den senare i proceduren.

Om du vill att dina förfaranden ska utföras så snabbt som möjligt, berätta Excel vilken typ av data som ska tilldelas var och en av dina variabler. Detta är känt som deklarerar en variabels typ.

I allmänhet bör du använda datatypen som kräver det minsta antalet bitar men ändå kan hantera all data som tilldelats den. När VBA arbetar med data beror exekveringshastigheten på antalet bytes som VBA har till sitt förfogande. Med andra ord, ju färre bytesdataanvändningar, desto snabbare VBA kan komma åt och manipulera data.Ett undantag till detta är integerdatatypen. Om hastigheten är kritisk, använd den långa datatypen istället.

Om du använder en objektvariabel kan du deklarera variabeln som en viss objekttyp. Här är ett exempel:

Dimma som Range Set Rate = Arbetsböcker ("MyBook. Xlsx") _. Arbetsblad (”Blad1”). Range ("InterestRate")

Använda med-slut med struktur

Behöver du ange ett antal egenskaper för ett objekt? Din kod körs snabbare om du använder strukturen With-End With. En ytterligare fördel är att din kod kan vara lättare att läsa.

Följande kod använder inte Slut med:

Val. HorizontalAlignment = xlCenter Selection. VerticalAlignment = xlCenter Selection. WrapText = True Selection. Orientering = 0 Urval. ShrinkToFit = Felval. MergeCells = False

Här är samma kod som omskrivs för att använda With-End With:

Med Selection. HorizontalAlignment = xlCenter. VerticalAlignment = xlCenter. WrapText = True. Orientering = 0. ShrinkToFit = False. MergeCells = False End With

När du använder With-End With, se till att varje uttalande börjar med en punkt.

Excel 2016 VBA Speed ​​Tips - 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. ...