Hjem Social Media Excel 2016 VBA Speed ​​Tips - dummies

Excel 2016 VBA Speed ​​Tips - dummies

Indholdsfortegnelse:

Video: 6 Ways to Speed up your Excel Macros 2025

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

VBA til Excel 2016 er hurtig, men det er ikke altid hurtigt nok. (Computerprogrammer er aldrig hurtige nok.) Fortsæt læsning for at opdage nogle programmeringseksempler, du kan bruge til at fremskynde dine makroer.

Slukning af skærmopdatering

Når du udfører en makro, kan du læne dig tilbage og se alle de skærmhandlinger, der forekommer i makroen. Selvom det kan være lærerigt at gøre det, efter at makroen fungerer korrekt, er det ofte irriterende og kan bremse ydeevnen af ​​din makro betydeligt. Heldigvis kan du deaktivere skærmopdateringen, der normalt opstår, når du udfører en makro. For at slukke for skærmopdatering skal du bruge følgende sætning:

Program. ScreenUpdating = False

Hvis du vil have brugeren at se, hvad der sker på et hvilket som helst tidspunkt under makroen, skal du bruge følgende sætning til at aktivere skærmopdateringen igen:

Application. ScreenUpdating = True

For at demonstrere forskellen i hastighed, udfør denne enkle makro, som fylder en rækkevidde med tal:

Sub FillRange () Dim er så lang, c Som lang Dim Number som Long Number = 0 For r = 1 til 50 For c = 1 til 50 nummer = antal + 1 celler (r, c). Vælg celler (r, c). Værdi = Antal Næste c Næste r Slut Sub

Du ser, at hver celle er valgt, og den værdi, der indtastes i cellerne. Indsæt nu følgende sætning i begyndelsen af ​​proceduren og udfør den igen:

Program. ScreenUpdating = False

Sortimentet er fyldt meget hurtigere, og du kan ikke se resultatet, før makroen er færdig med at køre, og skærmopdatering er (automatisk) indstillet til True.

Når du fejler kode, slutter programgennemførelsen et eller andet sted i midten, uden at du har slået Skærmopdatering tilbage. Dette forårsager undertiden Excel's applikationsvindue til at blive fuldstændig uresponsiv. Vejen ud af denne frosne tilstand er enkel: Gå tilbage til VBE, og udfør følgende sætning i vinduet Omgående:

Program. ScreenUpdating = True

Slukning af automatisk beregning

Hvis du har et regneark med mange komplekse formler, kan du opleve, at du kan fremskynde tingene betydeligt ved at indstille beregningsmodus til manuel mens makroen udføres. Når makroen er færdig, skal du indstille beregningsmodus tilbage til automatisk.

I følgende sætning indstilles Excel-beregningsmodus til manuel:

Application. Beregning = xlCalculationManual

Udfør den næste sætning for at indstille beregningsmodus til automatisk:

Application. Beregning = xlCalculationAutomatic

Hvis din kode bruger celler med formelresultater, betyder afbrydelse af beregning, at cellerne ikke beregnes igen, medmindre du udtrykkeligt fortæller Excel for at gøre det!

Eliminere de irriterende beskedmeddelelser

Som du ved kan en makro automatisk udføre en række handlinger. I mange tilfælde kan du starte en makro og derefter gå hænge ud i pause rummet, mens Excel gør dens ting. Nogle Excel-operationer viser dog meddelelser, der kræver et menneskeligt svar. Disse typer af meddelelser betyder, at du ikke kan forlade Excel uovervåget, mens den udfører din makro - medmindre du kender det hemmelige trick.

Du kan instruere Excel for ikke at vise disse typer advarsler, mens du kører en makro.

Det hemmelige trick for at undgå disse advarselsmeddelelser er at indsætte følgende VBA-sætning i din makro:

Application. DisplayAlerts = False

Excel udfører standardoperationen for disse typer meddelelser. Ved sletning af et ark er standardoperationen Slet. Hvis du ikke er sikker på, hvad standardoperationen er, skal du udføre en test for at se, hvad der sker.

Når proceduren slutter, nulstiller Excel automatisk egenskaben DisplayAlerts til True. Hvis du har brug for at slå alarmerne på igen, før proceduren slutter, skal du bruge denne erklæring:

Application. DisplayAlerts = True

Forenkler objektreferencer

Som du sikkert allerede ved, kan henvisninger til objekter blive meget lange. For eksempel kan en fuldt kvalificeret reference til et Range objekt se sådan ud:

Workbooks ("MyBook. Xlsx"). Regneark ("Sheet1") _. Område ("InterestRate")

Hvis din makro ofte anvender dette interval, kan du oprette en objektvariabel ved at bruge kommandoen Set. For eksempel tildeler følgende sætning dette Range objekt til en objektvariabel med navnet Rate:

Set Rate = Workbooks ("MyBook. Xlsx") _. Arbejdsark (”Ark1”). Range ("InterestRate")

Når du har defineret denne objektvariabel, kan du bruge variablen Rate snarere end den lange reference. Du kan for eksempel ændre værdien af ​​cellen med navnet InterestRate:

Rate. Værdi =. 085

Dette er meget lettere at skrive end følgende erklæring:

Workbooks ("MyBook. Xlsx"). Arbejdsark (”Ark1”). _ Range ("InterestRate") =. 085

Ud over at forenkle din kodning øger hastigheden af ​​dine makroer markant ved hjælp af objektvariabler.

Deklarere variabeltyper

Du behøver normalt ikke at bekymre sig om den type data, du tildeler en variabel. Excel håndterer alle detaljer for dig bag kulisserne. Hvis du for eksempel har en variabel med navnet MyVar, kan du tildele et nummer af en hvilken som helst type til den variabel. Du kan endda tildele en tekststreng til den senere i proceduren.

Hvis du vil have dine procedurer udført så hurtigt som muligt, skal du fortælle Excel, hvilken type data der vil blive tildelt til hver af dine variabler. Dette er kendt som erklærer en variants type.

Generelt skal du bruge datatypen, der kræver det mindste antal bytes, men alligevel kan du håndtere alle de data, der er tildelt det. Når VBA arbejder med data, afhænger udførelseshastigheden af ​​det antal byte, som VBA har til rådighed. Med andre ord, jo færre byte data bruger, jo hurtigere VBA kan få adgang til og manipulere dataene.En undtagelse til dette er integer datatypen. Hvis hastigheden er kritisk, skal du bruge den lange datatype i stedet.

Hvis du bruger en objektvariabel, kan du erklære variablen som en bestemt objekttype. Her er et eksempel:

Dim Rate as Range Set Rate = Arbejdsbøger ("MyBook. Xlsx") _. Arbejdsark (”Ark1”). Område ("InterestRate")

Brug af med-slut med struktur

Har du brug for at indstille et antal egenskaber for en genstand? Din kode kører hurtigere, hvis du bruger strukturen With-End With. En ekstra fordel er, at din kode kan være lettere at læse.

Følgende kode bruger ikke With-End With:

Valg. HorizontalAlignment = xlCenter Selection. VerticalAlignment = xlCenter Selection. WrapText = True Selection. Orientering = 0 Valg. ShrinkToFit = False Selection. MergeCells = False

Her er den samme kode, der er omskrevet for at bruge With-End With:

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

Når du bruger With-End With, skal du sørge for, at hver sætning begynder med en prik.

Excel 2016 VBA Speed ​​Tips - dummies

Valg af editor

Træk Math Questions for Praxis: Find Factors - Dummies

Træk Math Questions for Praxis: Find Factors - Dummies

Virkelig nyttig dygtighed til at have-ikke-tabt-i-the-wilds eller fanget-i-en-warehouse-fuld-of-ninjas nyttigt, men helt sikkert praktisk til Praxis Core eksamen. For at hjælpe dig med at forberede, spørger du efter følgende øvelsesspørgsmål, at du vælger nummeret, der ikke er en faktor af et andet tal, og derefter for at finde den største almindelige ...

Udøve Math Spørgsmål til Praxis: Finde den Største Common Factor - Dummies

Udøve Math Spørgsmål til Praxis: Finde den Største Common Factor - Dummies

Om Praxis Kerneeksamen, du bliver måske bedt om at finde ud af, hvilke to udtryk der er fælles - for eksempel deres største fælles faktor (eller GCF). I de følgende øvelsesspørgsmål skal du først finde GCF'en af ​​to udtryk og derefter finde et af de oprindelige udtryk, givet GCF og den anden original ...

Practice Math Spørgsmål til Praxis: Indvendige Vinkler - Dummies

Practice Math Spørgsmål til Praxis: Indvendige Vinkler - Dummies

Indvendige Vinkelproblemer på Praxis Core eksamen er ret ligefrem-det meste af tiden. Som du vil se i følgende praksis spørgsmål, er det også nyttigt at have en god samlet viden om vinkler til eksamen. Formlen for summen af ​​indvendige vinkler for en polygon er hvor s er antallet af ...

Valg af editor

Sammenligning af Cloud Computing Services-ledede teknologiselskaber - dummies

Sammenligning af Cloud Computing Services-ledede teknologiselskaber - dummies

Tjenesternes komponenter (interne eller partnere) af tjenester -ledede teknologivirksomheder har udviklet bedste praksis over tusindvis af engagementer, og al denne erfaring er bragt i spidsen for hver virksomheds cloud computing-strategi. Hvis din virksomhed mangler intern viden om skyer og har brug for at implementere et specialiseret sæt løsninger, kan et serviceorienteret engagement være ...

Undersøger typerne af SaaS-platforme i Cloud Computing - dummies

Undersøger typerne af SaaS-platforme i Cloud Computing - dummies

Fordi software som en tjeneste (SaaS) har eksisteret længere end de fleste andre typer cloud computing, hundredvis, hvis ikke tusindvis af virksomheder forsøger at blive ledere. Det koster mange penge i første omgang at opbygge typen af ​​datacenter og de applikationer, der kan skalere til at understøtte tusindvis af virksomheder (og potentielt ...

Hvordan man vurderer omkostningerne ved en privat cloud i cloud computing - dummies

Hvordan man vurderer omkostningerne ved en privat cloud i cloud computing - dummies

Dit private cloud computing datacenter og it-operationer koster faktisk dig? Det er ikke et simpelt spørgsmål at besvare. De fleste virksomheder deler udgifter til IT i to spande: Investeringerne bruges til at købe udstyr (servere, netværk, lagringssystemer). Driftsudgifter er de normale omkostninger ved drift af en arbejdsdag ...

Valg af editor

Sådan holder du dig kold Når Angry Dummies

Sådan holder du dig kold Når Angry Dummies

Når du finder dig vred, er det på tide at tage øjeblikkeligt handling. Det tager kun 90 sekunder at afværge din vrede, hvis du tager følgende trin: Resultat din vrede ud af 10. En rating på 1 til 3 betyder, at du er irriteret, 4 til 7 betyder at du er sur og 8 til 10 betyder dig er i ...

De tre komponenter af et godt forhold - dummies

De tre komponenter af et godt forhold - dummies

Der ikke ønsker at være i et godt forhold? Bare rolig, det kan gøres. Psykologer, der studerer hvad der skaber et vellykket, lykkeligt og kærligt forhold, har indsnævret det til tre komponenter: Lidenskab: "Jeg er vild med hende. "Delte interesser:" Vi nyder de samme ting - rejser, golf. "Intimitet:" Jeg føler mig virkelig tæt på ...

Forstå, hvem du virkelig skal nå strøm og lykke - dummies

Forstå, hvem du virkelig skal nå strøm og lykke - dummies

En af ​​forudsætningerne for at få i strømmen og være glad har at gøre med at kende dig selv. Det betyder ikke bare navn, rang og serienummer. Spørg dig selv de følgende spørgsmål for at afgøre, hvem du virkelig er: Hvad gør du kryds? Hvad gør dig unik? Hvad tilfredsstiller dig og gør dig glad? Hvad giver din ...