Savjeti za brzinu za Excel 2016 VBA

VBA za Excel 2016 je brz, ali nije uvijek dovoljno brz. (Računalni programi nikad nisu dovoljno brzi.) Nastavite čitati kako biste otkrili neke primjere programiranja koje možete koristiti za ubrzavanje makronaredbi.

Isključivanje ažuriranja zaslona

Kada izvršavate makronaredbu, možete se opustiti i gledati sve radnje na zaslonu koje se događaju u makronaredbi. Iako to može biti poučno, nakon što makronaredbu ispravno radi, često je neugodno i može znatno usporiti izvedbu makronaredbe. Srećom, možete onemogućiti ažuriranje zaslona koje se obično događa kada izvršite makronaredbu. Da biste isključili ažuriranje zaslona, ​​upotrijebite sljedeću izjavu:

Application.ScreenUpdating = False

Ako želite da korisnik vidi što se događa u bilo kojem trenutku tijekom makronaredbe, upotrijebite sljedeću izjavu da ponovno uključite ažuriranje zaslona:

Application.ScreenUpdating = Točno

Da biste demonstrirali razliku u brzini, izvršite ovu jednostavnu makronaredbu koja ispunjava raspon brojevima:

Podraspon popunjavanja()
  Dim r kao dugo, c kao dugo
  Zatamnjen broj kao dug
  Broj = 0
  Za r = 1 do 50
    Za c = 1 do 50
      Broj = Broj + 1
      Ćelije(r, c).Odaberi
      Ćelije(r, c).Vrijednost = Broj
    Sljedeći c
  Sljedeći r
Kraj Sub

Vidite kako je svaka ćelija odabrana i vrijednost se upisuje u ćelije. Sada umetnite sljedeću naredbu na početak postupka i ponovno je izvedite:

Application.ScreenUpdating = False

Raspon se popunjava puno brže i ne vidite rezultat dok se makronaredba ne završi s radom i ažuriranje zaslona se (automatski) postavi na True.

Kada ispravljate pogreške koda, izvršavanje programa ponekad završava negdje na sredini, a da niste ponovno uključili ažuriranje zaslona. To ponekad uzrokuje da prozor aplikacije Excel potpuno ne reagira. Izlaz iz ovog zamrznutog stanja je jednostavan: vratite se na VBE i izvršite sljedeću naredbu u prozoru Immediate:

Application.ScreenUpdating = Točno

Isključivanje automatskog izračuna

Ako imate radni list s mnogo složenih formula, možda ćete otkriti da stvari možete znatno ubrzati postavljanjem načina izračuna na ručni dok se makronaredba izvršava. Kada makronaredba završi, vratite način izračuna na automatski.

Sljedeća izjava postavlja način izračuna Excela na ručni:

Application.Calculation = xlCalculationManual

Izvršite sljedeću naredbu da postavite način izračuna na automatski:

Aplikacija.Izračun = xlCalculationAutomatic

Ako vaš kod koristi ćelije s rezultatima formule, isključivanje izračuna znači da ćelije neće biti ponovno izračunate osim ako izričito ne kažete Excelu da to učini!

Uklanjanje tih dosadnih poruka upozorenja

Kao što znate, makronaredba može automatski izvršiti niz radnji. U mnogim slučajevima možete pokrenuti makronaredbu, a zatim se družiti u sobi za odmor dok Excel radi svoje. Međutim, neke Excel operacije prikazuju poruke koje zahtijevaju ljudski odgovor. Ove vrste poruka znače da ne možete ostaviti Excel bez nadzora dok izvršava vašu makronaredbu — osim ako znate tajni trik.

Savjeti za brzinu za Excel 2016 VBA

Možete uputiti Excel da ne prikazuje ove vrste upozorenja tijekom pokretanja makronaredbe.

Tajni trik za izbjegavanje ovih poruka upozorenja je umetanje sljedeće VBA izjave u vaš makro:

Application.DisplayAlerts = False

Excel izvršava zadanu operaciju za ove vrste poruka. U slučaju brisanja lista, zadana operacija je Izbriši. Ako niste sigurni koja je zadana operacija, izvršite test da vidite što se događa.

Kada se postupak završi, Excel automatski vraća svojstvo DisplayAlerts na True. Ako trebate ponovno uključiti upozorenja prije završetka postupka, upotrijebite ovu izjavu:

Application.DisplayAlerts = Točno

Pojednostavljivanje referenci na objekte

Kao što vjerojatno već znate, reference na objekte mogu postati vrlo dugačke. Na primjer, potpuno kvalificirana referenca na objekt Range može izgledati ovako:

Radne knjige(“MyBook.xlsx”).Radni listovi(“Sheet1”) _
  .Raspon ("Kamatna stopa")

Ako vaša makronaredba često koristi ovaj raspon, možda ćete htjeti stvoriti varijablu objekta pomoću naredbe Postavi. Na primjer, sljedeća izjava dodjeljuje ovaj objekt Range varijabli objekta pod nazivom Rate:

Postavite stopu = Radne knjige(“MyBook.xlsx”) _
  .Radni listovi("Sheet1").Raspon("Interest Rate")

Nakon definiranja ove varijable objekta, možete koristiti varijablu Rate umjesto dugačke reference. Na primjer, možete promijeniti vrijednost ćelije pod nazivom InterestRate:

Stopa.Vrijednost = .085

Ovo je mnogo lakše upisati nego sljedeću izjavu:

Radne knjige(“MyBook.xlsx”).Radni listovi(“Sheet1”). _
  Raspon (“Kamatna stopa”) = .085

Osim što pojednostavljuje vaše kodiranje, korištenje objektnih varijabli značajno ubrzava vaše makronaredbe.

Deklariranje tipova varijabli

Obično se ne morate brinuti o vrsti podataka koje dodjeljujete varijabli. Excel rješava sve detalje za vas iza kulisa. Na primjer, ako imate varijablu pod nazivom MyVar, toj varijabli možete dodijeliti broj bilo koje vrste. Možete mu čak dodijeliti tekstualni niz kasnije u postupku.

Ako želite da se vaše procedure izvode što je brže moguće, recite Excelu koja će vrsta podataka biti dodijeljena svakoj od vaših varijabli. To je poznato kao deklariranje tipa varijable.

Općenito, trebali biste koristiti tip podataka koji zahtijeva najmanji broj bajtova, ali i dalje može rukovati svim podacima koji su mu dodijeljeni. Kada VBA radi s podacima, brzina izvršavanja ovisi o broju bajtova koje VBA ima na raspolaganju. Drugim riječima, što manje bajtova koristi podaci, VBA brže može pristupiti podacima i manipulirati njima. Iznimka od ovoga je tip podataka Integer. Ako je brzina kritična, umjesto toga upotrijebite tip podataka Long.

Ako koristite varijablu objekta, možete je deklarirati kao određenu vrstu objekta. Evo primjera:

Dim Rate kao raspon
Postavite stopu = Radne knjige(“MyBook.xlsx”) _
  .Radni listovi("Sheet1").Raspon("Interest Rate")

Korištenje strukture With-End With

Trebate li postaviti brojna svojstva za objekt? Vaš kod radi brže ako koristite strukturu With-End With. Dodatna prednost je što će vaš kod biti lakši za čitanje.

Sljedeći kod ne koristi With-End With:

Odabir.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Selection.WrapText = Točno
Odabir.Orijentacija = 0
Selection.ShrinkToFit = Netočno
Selection.MergeCells = Netočno

Evo istog koda, prepisanog za korištenje With-End With:

Uz odabir
  .HorizontalAlignment = xlCenter
  .Okomito poravnanje = xlCenter
  .WrapText = Istina
  .Orijentacija = 0
  .ShrinkToFit = Netočno
  .MergeCells = Netočno
Završi s

Kada koristite kraj s, pazite da svaka izjava počinje točkom.

Leave a Comment

Kako postaviti upit u bazu podataka MS Access 2019

Kako postaviti upit u bazu podataka MS Access 2019

Naučite kako postaviti upite u Access bazi podataka uz jednostavne korake i savjete za učinkovito filtriranje i sortiranje podataka.

Osnove tabulatora u programu Word 2013

Osnove tabulatora u programu Word 2013

Tabulatori su oznake položaja u odlomku programa Word 2013 koje određuju kamo će se točka umetanja pomaknuti kada pritisnete tipku Tab. Otkrijte kako prilagoditi tabulatore i optimizirati svoj rad u Wordu.

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Kako odabrati i poništiti odabir blokova teksta u Wordu 2010

Word 2010 nudi mnoge načine označavanja i poništavanja odabira teksta. Otkrijte kako koristiti tipkovnicu i miš za odabir blokova. Učinite svoj rad učinkovitijim!

Kako uvući pasus u Wordu 2013

Kako uvući pasus u Wordu 2013

Naučite kako pravilno postaviti uvlaku za odlomak u Wordu 2013 kako biste poboljšali izgled svog dokumenta.

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Kako otvoriti i zatvoriti PowerPoint 2019 prezentacije

Naučite kako jednostavno otvoriti i zatvoriti svoje Microsoft PowerPoint 2019 prezentacije s našim detaljnim vodičem. Pronađite korisne savjete i trikove!

Kako crtati jednostavne objekte u PowerPointu 2013

Kako crtati jednostavne objekte u PowerPointu 2013

Saznajte kako crtati jednostavne objekte u PowerPoint 2013 uz ove korisne upute. Uključuje crtanje linija, pravokutnika, krugova i više.

Kako filtrirati podatke u programu Access 2016

Kako filtrirati podatke u programu Access 2016

U ovom vodiču vam pokazujemo kako koristiti alat za filtriranje u programu Access 2016 kako biste lako prikazali zapise koji dijele zajedničke vrijednosti. Saznajte više o filtriranju podataka.

Formule za zaokruživanje brojeva u Excelu

Formule za zaokruživanje brojeva u Excelu

Saznajte kako koristiti Excelove funkcije zaokruživanja za prikaz čistih, okruglih brojeva, što može poboljšati čitljivost vaših izvješća.

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Kako dizajnirati različita zaglavlja i podnožja za različite stranice u programu Word 2013

Zaglavlje ili podnožje koje postavite isto je za svaku stranicu u vašem Word 2013 dokumentu. Otkrijte kako koristiti različita zaglavlja za parne i neparne stranice.

Excel izvješća: prilagođeno oblikovanje brojeva

Excel izvješća: prilagođeno oblikovanje brojeva

Poboljšajte čitljivost svojih Excel izvješća koristeći prilagođeno oblikovanje brojeva. U ovom članku naučite kako se to radi i koja su najbolja rješenja.