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

Office 365 Grupper - Dummies

Office 365 Grupper - Dummies

Du kan använda Office 365 Grupper, eller helt enkelt grupper, för att snabbt bandet tillsammans med medarbetare till samarbeta utan administrationsansvar som följer med en SharePoint-webbplats. Grupper är inte en del av SharePoint Online. Det är faktiskt en funktion i Exchange Online, men den använder SharePoint Online-funktioner, till exempel OneDrive for Business för att lagra gruppfiler ...

Office 365 Mobil Dokument i molnet - Dummies

Office 365 Mobil Dokument i molnet - Dummies

Varje Office 365-abonnent med en kvalificerad plan kan installera Office mobilappar på upp till fem tabletter och fem smartphones. Kvalificeringsplanerna är: Office for Business Premium, Office 365 Business, Office 365 Pro Plus, Office 365 E3 och Office 365 E5. Kärnan Office-appar finns i Windows, iOS och Android ...

Office Graph och Delve - dummies

Office Graph och Delve - dummies

Office Graph i Office 365 ger en möjlighet för människor att dra nytta av relationer och aktiviteter och göra dem till meningsfulla insikter. De signaler du skickar från e-postkonversationer och möten i Outlook, snabbmeddelanden i Skype for Business, sociala interaktioner på Yammer och dokument i SharePoint Online och OneDrive samlas alla och ...

Redaktörens val

Elektronik Komponenter: Sätt in induktorer till arbete - dummies

Elektronik Komponenter: Sätt in induktorer till arbete - dummies

Om du har undrat vad induktorer används egentligen i elektroniska kretsar i verkligheten, här är några av de vanligaste användningarna för induktorer: Utjämning av spänning i en strömförsörjning: Det sista steget i en typisk strömförsörjningskrets som omvandlar 120 VAC hushållsström till en användbar direkt Nuvarande är ofta en ...

Elektronik Komponenter: Introduktion av mikrokontroller - dummies

Elektronik Komponenter: Introduktion av mikrokontroller - dummies

En mikrokontroller är en komplett dator på en enda elektronisk chip. De kan köpas för $ 50 eller mindre. Liksom alla datorsystem består mikrodatorer av flera grundläggande delsystem: Central Processor (CPU): En CPU utför de instruktioner som tillhandahålls av ett program. CPU kan göra alla nödvändiga åtgärder för ...

Elektronik Komponenter: Motstånd Power Ratings - dummies

Elektronik Komponenter: Motstånd Power Ratings - dummies

Motstånd är som bromsar för ström som strömmar genom en elektronisk krets. Liksom bromsarna i din bil arbetar motstånd genom att använda den elektriska ekvivalenten av friktion till strömningsströmmen. Denna friktion hämmar strömmen av ström genom att absorbera en del av strömens energi och sprida den i form av värme. När du använder en ...

Redaktörens val

Hur man konfigurerar SSH för din webbplats - dummies

Hur man konfigurerar SSH för din webbplats - dummies

Secure shell (SSH) är ett nätverksprotokoll för att tillåta säker datakommunikation. I själva verket är det som en webbhotell bakdörr i ditt system - en som borde förbli låst om du inte behöver använda den. Naturligtvis är exakt hur du konfigurerar SSH olika på alla typer av webbhotell, men som ...

Hur man skapar en ny webbhotell - dummies

Hur man skapar en ny webbhotell - dummies

Du måste skapa din databas inom din webbhotellskontrollpanel och skapa en speciell databasanvändare som har behörighet att komma åt den. När du installerar en webbapplikation eller ett skript som kräver en databas från kontrollpanelen, kommer installationsprogrammet sannolikt att kunna skapa en egen databas och användare. ...

Hur man skapar nya konton på webbhotell med FTP-dummies

Hur man skapar nya konton på webbhotell med FTP-dummies

Du kanske vill att skapa ytterligare konton på en webbhanterad ftp av olika orsaker. Detta möjliggör viss mångsidighet och kontroll för att förbättra din företagsfunktionalitet. Några skäl till att lägga till ett konto är följande: Du vill ge någon annan FTP-åtkomst till din webbplats. Du vill ge någon FTP-åtkomst ...