Nasveti za hitrost Excel 2016 VBA

VBA za Excel 2016 je hiter, vendar ni vedno dovolj hiter. (Računalniški programi niso nikoli dovolj hitri.) Nadaljujte z branjem in odkrijte nekaj primerov programiranja, ki jih lahko uporabite za pospešitev svojih makrov.

Izklop posodabljanja zaslona

Pri izvajanju makra se lahko usedete in gledate vsa dejanja na zaslonu, ki se zgodijo v makru. Čeprav je to lahko poučno, potem ko makro deluje pravilno, je pogosto nadležno in lahko znatno upočasni delovanje vašega makra. Na srečo lahko onemogočite posodabljanje zaslona, ​​ki se običajno zgodi, ko izvedete makro. Če želite izklopiti posodabljanje zaslona, ​​uporabite naslednjo izjavo:

Application.ScreenUpdating = False

Če želite, da uporabnik vidi, kaj se dogaja kadar koli med makrom, uporabite naslednjo izjavo, da znova vklopite posodabljanje zaslona:

Application.ScreenUpdating = True

Če želite prikazati razliko v hitrosti, izvedite ta preprost makro, ki napolni obseg s številkami:

Sub FillRange()
  Dim r tako dolgo, c tako dolgo
  Dim Number tako dolgo
  Število = 0
  Za r = 1 do 50
    Za c = 1 do 50
      Število = Število + 1
      Celice(r, c).Izberi
      Celice(r, c).Vrednost = Število
    Naslednji c
  Naslednji r
Končni sub

Vidite, da je vsaka celica izbrana in vrednost vnesena v celice. Zdaj vstavite naslednji stavek na začetek postopka in ga znova izvedite:

Application.ScreenUpdating = False

Obseg se zapolni veliko hitreje in ne vidite rezultata, dokler se makro ne izvaja in se posodabljanje zaslona (samodejno) nastavi na True.

Ko odpravljate napake kode, se izvajanje programa včasih konča nekje na sredini, ne da bi morali znova vklopiti Posodabljanje zaslona. To včasih povzroči, da se okno Excelove aplikacije popolnoma ne odziva. Izhod iz tega zamrznjenega stanja je preprost: vrnite se na VBE in v oknu Immediate izvedite naslednji stavek:

Application.ScreenUpdating = True

Izklop samodejnega izračuna

Če imate delovni list s številnimi zapletenimi formulami, boste morda ugotovili, da lahko stvari precej pospešite, če nastavite način izračuna na ročni, medtem ko se vaš makro izvaja. Ko se makro konča, nastavite način izračuna nazaj na samodejno.

Naslednji stavek nastavi način izračuna Excel na ročni:

Application.Calculation = xlCalculationManual

Izvedite naslednji stavek, da nastavite način izračuna na samodejni:

Application.Calculation = xlCalculationAutomatic

Če vaša koda uporablja celice z rezultati formule, izklop izračuna pomeni, da celice ne bodo ponovno izračunane, razen če Excelu izrecno poveste, naj to stori!

Odprava teh nadležnih opozorilnih sporočil

Kot veste, lahko makro samodejno izvede vrsto dejanj. V mnogih primerih lahko zaženete makro in se nato družite v sobi za odmor, medtem ko Excel naredi svoje. Nekatere Excelove operacije pa prikazujejo sporočila, ki zahtevajo človeški odziv. Te vrste sporočil pomenijo, da Excela ne morete pustiti brez nadzora, medtem ko izvaja vaš makro – razen če poznate skrivni trik.

Nasveti za hitrost Excel 2016 VBA

Excelu lahko naročite, naj med izvajanjem makra ne prikaže teh vrst opozoril.

Skrivni trik za izogibanje tem opozorilnim sporočilom je, da v svoj makro vstavite naslednji stavek VBA:

Application.DisplayAlerts = False

Excel izvede privzeto operacijo za te vrste sporočil. V primeru brisanja lista je privzeta operacija Izbriši. Če niste prepričani, kakšna je privzeta operacija, izvedite test, da vidite, kaj se zgodi.

Ko se postopek konča, Excel samodejno ponastavi lastnost DisplayAlerts na True. Če morate znova vklopiti opozorila, preden se postopek konča, uporabite to izjavo:

Application.DisplayAlerts = True

Poenostavitev sklicevanja na objekte

Kot verjetno že veste, lahko sklicevanja na predmete postanejo zelo dolga. Na primer, popolnoma kvalificirana sklic na objekt Range je lahko videti tako:

Delovni zvezki (»MyBook.xlsx«).Delovni listi (»Sheet1«) _
  .Range(»Obrestna mera«)

Če vaš makro pogosto uporablja ta obseg, boste morda želeli ustvariti spremenljivko predmeta z ukazom Set. Na primer, naslednji stavek dodeli ta objekt Range spremenljivki objekta z imenom Rate:

Nastavi stopnjo = Delovni zvezki (»MyBook.xlsx«) _
  .Delovni listi(»List1«).Razpon (»Obrestna mera«)

Ko definirate to spremenljivko objekta, lahko uporabite spremenljivko Rate namesto dolge reference. Na primer, lahko spremenite vrednost celice z imenom InterestRate:

Stopnja.Vrednost = .085

To je veliko lažje vnesti kot naslednjo izjavo:

Delovni zvezki (»MyBook.xlsx«).Delovni listi (»Sheet1«). _
  Razpon (»obrestna mera«) = .085

Poleg poenostavitve kodiranja uporaba objektnih spremenljivk znatno pospeši vaše makre.

Deklariranje vrst spremenljivk

Običajno vam ni treba skrbeti za vrsto podatkov, ki jih dodelite spremenljivki. Excel poskrbi za vse podrobnosti za vas v zakulisju. Na primer, če imate spremenljivko z imenom MyVar, lahko tej spremenljivki dodelite številko katere koli vrste. Pozneje v postopku mu lahko celo dodelite besedilni niz.

Če želite, da se vaši postopki izvajajo čim hitreje, povejte Excelu, katere vrste podatkov bodo dodeljene vsaki od vaših spremenljivk. To je znano kot deklariranje tipa spremenljivke.

Na splošno bi morali uporabiti tip podatkov, ki zahteva najmanjše število bajtov, vendar lahko še vedno obravnava vse podatke, ki so mu dodeljeni. Ko VBA deluje s podatki, je hitrost izvajanja odvisna od števila bajtov, ki jih ima VBA na voljo. Z drugimi besedami, manj bajtov podatkov uporablja, hitrejši lahko VBA dostopa do podatkov in jih upravlja. Izjema pri tem je podatkovni tip Integer. Če je hitrost kritična, namesto tega uporabite podatkovni tip Long.

Če uporabljate spremenljivko predmeta, lahko spremenljivko deklarirate kot določeno vrsto predmeta. Tukaj je primer:

Dim Rate kot razpon
Nastavi stopnjo = Delovni zvezki (»MyBook.xlsx«) _
  .Delovni listi(»List1«).Razpon (»Obrestna mera«)

Uporaba strukture With-End With

Ali morate za predmet nastaviti številne lastnosti? Vaša koda teče hitreje, če uporabljate strukturo With-End With. Dodatna prednost je, da je vaša koda morda lažje berljiva.

Naslednja koda ne uporablja With-End With:

Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Selection.WrapText = Res
Izbira.Orientacija = 0
Selection.ShrinkToFit = False
Selection.MergeCells = False

Tukaj je ista koda, prepisana za uporabo With-End With:

Z izborom
  .HorizontalAlignment = xlCenter
  .VerticalAlignment = xlCenter
  .WrapText = Res
  .Orientacija = 0
  .ShrinkToFit = False
  .MergeCells = False
Končaj z

Ko uporabljate s koncem, se prepričajte, da se vsak stavek začne s piko.


Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows

Kako preprečiti, da Microsoft Word odpira datoteke v načinu samo za branje v sistemu Windows Microsoft Word odpira datoteke v načinu samo za branje, zaradi česar jih je nemogoče urejati? Ne skrbite, metode so spodaj

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako popraviti nepravilno tiskanje dokumentov Microsoft Word

Kako odpraviti napake pri tiskanju nepravilnih dokumentov Microsoft Word Napake pri tiskanju dokumentov Word s spremenjeno pisavo, neurejenimi odstavki, manjkajočim besedilom ali izgubljeno vsebino so precej pogoste. Vendar pa ne

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Izbrišite risbe s peresom in označevalnikom na diapozitivih PowerPoint

Če ste med predstavitvijo uporabili pero ali označevalnik za risanje po diapozitivih PowerPoint, lahko risbe shranite za naslednjo predstavitev ali jih izbrišete, tako da boste naslednjič, ko ga pokažete, začeli s čistimi PowerPointovimi diapozitivi. Sledite tem navodilom za brisanje risb s peresom in označevalnikom: Brisanje črt ena na […]

Vsebina knjižnice slogov v SharePointu 2010

Vsebina knjižnice slogov v SharePointu 2010

Knjižnica slogov vsebuje datoteke CSS, datoteke Extensible Stylesheet Language (XSL) in slike, ki jih uporabljajo vnaprej določene glavne strani, postavitve strani in kontrolniki v SharePointu 2010. Če želite poiskati datoteke CSS v knjižnici slogov na založniškem mestu: Izberite Dejanja mesta→ Pogled Vsa vsebina spletnega mesta. Prikaže se vsebina spletnega mesta. Knjižnica Style se nahaja v […]

Oblikujte številke v tisoče in milijone v poročilih Excel

Oblikujte številke v tisoče in milijone v poročilih Excel

Ne preobremenjujte občinstva z ogromnimi številkami. V Microsoft Excelu lahko izboljšate berljivost svojih nadzornih plošč in poročil tako, da oblikujete svoje številke tako, da se prikažejo v tisočih ali milijonih.

Kako deliti in spremljati SharePointova spletna mesta

Kako deliti in spremljati SharePointova spletna mesta

Naučite se uporabljati SharePointova orodja za socialno mreženje, ki posameznikom in skupinam omogočajo komunikacijo, sodelovanje, skupno rabo in povezovanje.

Kako pretvoriti datume v julijanske oblike v Excelu

Kako pretvoriti datume v julijanske oblike v Excelu

Julijanski datumi se v proizvodnih okoljih pogosto uporabljajo kot časovni žig in hitra referenca za številko serije. Ta vrsta datumskega kodiranja omogoča trgovcem na drobno, potrošnikom in servisnim agentom, da ugotovijo, kdaj je bil izdelek izdelan in s tem starost izdelka. Julijanski datumi se uporabljajo tudi v programiranju, vojski in astronomiji. Drugačen […]

Kako ustvariti spletno aplikacijo Access

Kako ustvariti spletno aplikacijo Access

Spletno aplikacijo lahko ustvarite v Accessu 2016. Kaj je torej spletna aplikacija? No, splet pomeni, da je na spletu, aplikacija pa je le okrajšava za »aplikacijo«. Spletna aplikacija po meri je spletna aplikacija baze podatkov, do katere dostopate iz oblaka z uporabo brskalnika. Spletno aplikacijo gradite in vzdržujete v namizni različici […]

Vrstica za hitri zagon v SharePointu 2010

Vrstica za hitri zagon v SharePointu 2010

Večina strani v SharePointu 2010 prikaže seznam navigacijskih povezav v vrstici za hitri zagon na levi strani strani. Vrstica za hitri zagon prikazuje povezave do predstavljene vsebine spletnega mesta, kot so seznami, knjižnice, spletna mesta in strani za objavljanje. Vrstica za hitri zagon vključuje dve zelo pomembni povezavi: Povezava do vse vsebine spletnega mesta: […]

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Kaj pomenijo sporočila o napakah reševalca v Excelu?

Pri preprostih težavah reševalec v Excelu običajno hitro najde optimalne vrednosti spremenljivke reševalca za ciljno funkcijo. Toda v nekaterih primerih ima Solver težave pri iskanju vrednosti spremenljivke Solver, ki optimizirajo ciljno funkcijo. V teh primerih Solver običajno prikaže sporočilo ali sporočilo o napaki, ki opisuje ali razpravlja o težavi, ki […]