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 2024

Video: 6 Ways to Speed up your Excel Macros 2024
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

Hur man skickar e-postfoton från iPhoto 09 - dummies

Hur man skickar e-postfoton från iPhoto 09 - dummies

IPhoto 09 kan hjälpa dig att skicka dina bilder via e-post genom att automatisera processen. Applikationen kan förbereda din bild och inbädda den automatiskt i ett nytt meddelande. För att skicka en bild via e-post, markera den och klicka sedan på knappen E-post i verktygsfältet. En dialogruta visas där du kan välja storleken på ...

Hur man skriver in och redigerar text i Snow Leopards sidor - dummies

Hur man skriver in och redigerar text i Snow Leopards sidor - dummies

Sidor är programmet Desktop Publishing som följer med snöleopard. Om du har använt ett modernt ordbehandlingsprogram på vilken dator som helst - inklusive "freebies" som TextEdit på en Mac eller WordPad på en dator, känner du dig riktigt hemma och skriver in i sidor. Just här är dock de höga punkterna: The ...

Hur man formaterar text i Mac Snow Leopards sidprogram - dummies

Hur man formaterar text i Mac Snow Leopards sidprogram - dummies

Sidans ansökan som erbjuds av Mac OS X Snow Leopard uppfyller alla dina skrivbordsförlagsbehov. Om du tycker att vissa (eller alla) av texten i ditt Siddokument behöver en ansiktslyftning, kan du formatera den texten som du vill. Med formatering kan du ändra färg, teckensnittsfamilj, teckenstorlek och attribut ...

Redaktörens val

Hur man lägger till ljud och video i OneNote 2013 - dummies

Hur man lägger till ljud och video i OneNote 2013 - dummies

OneNote 2013 låter dig spela in på flyga och lägg till ljud och videoklipp i dina anteckningar direkt från OneNote-bandet. Du kan också bädda in inspelade klipp med hjälp av flikens Infoga-flik. Så här lägger du in ett existerande klipp i din OneNote-anteckning Du kan bädda in ett ljud eller ett videoklipp i din ...

Hur man tar Capture Screen Clippings i OneNote 2013 - dummies

Hur man tar Capture Screen Clippings i OneNote 2013 - dummies

Skärmdumpar eller klickningar är användbara för OneNote 2013 i alla möjliga fall, från att visa någon din favorit skrivbordsbakgrund för att skapa dokumentation som visar saker som kan vara svåra för dina läsare att visualisera och hjälpa dem att orientera sig till de uppgifter du diskuterar. Även om du i flera år har lyckats fånga ...

Så här exporterar du Notes i OneNote 2013 - dummies

Så här exporterar du Notes i OneNote 2013 - dummies

Kommandot som kallas Spara som i de flesta andra appar heter exportera i OneNote 2013. Med det här kommandot kan du spara en fil under ett annat namn eller plats. Klicka eller peka på fliken Fil och välj Exportera. Exportpanelen visas till höger. Om du använder ett tangentbord och en mus kan du Ctrl + klicka på ...

Redaktörens val

Gånger Ränteförhållande i QuickBooks 2012 - dummies

Gånger Ränteförhållande i QuickBooks 2012 - dummies

Flera hävstångsförhållanden kan användas i QuickBooks 2012. Tiderna Räntetjänstförhållande anger hur lätt ett företag betalar räntekostnader som uppkommer på skulden. För att beräkna ränteintäkterna, behöver du ett resultaträkning som visar både rörelseresultat och räntekostnad. En enkel inkomsträkning Försäljningsintäkter $ 150 000 Mindre: Kostnad ...

Gånger Ränteförhållande i QuickBooks 2013 - dummies

Gånger Ränteförhållande i QuickBooks 2013 - dummies

Flera hävstångsförhållanden kan användas i QuickBooks 2013. Tiderna Räntetjänstförhållande anger hur lätt ett företag betalar räntekostnader som uppkommer på skulden. För att beräkna ränteintäkterna, behöver du ett resultaträkning som visar både rörelseresultat och räntekostnad. En enkel inkomsträkning Försäljningsintäkter $ 150 000 Mindre: Kostnad ...

Gånger Ränteförhållande i QuickBooks 2014 - dummies

Gånger Ränteförhållande i QuickBooks 2014 - dummies

Gånger ränteförhållandet anger hur lätt ett företag betalar ränta kostnader som uppkommit på skulden. I QuickBooks, för att beräkna ränteintäkterna, behöver du ett resultaträkning som visar både rörelseresultat och räntekostnad. En enkel inkomsträkning Försäljningsintäkter $ 150 000 Mindre: Kostnad för sålda varor 30 000 000 Bruttomarginalen 120 000 000 ...