Excel 2016 VBA greičio patarimai

VBA, skirta „Excel 2016“, yra greita, bet ne visada pakankamai greita. (Kompiuterinės programos niekada nėra pakankamai greitos.) Skaitykite toliau, kad sužinotumėte keletą programavimo pavyzdžių, kuriuos galite naudoti norėdami pagreitinti makrokomandas.

Ekrano atnaujinimo išjungimas

Vykdydami makrokomandą galite ramiai sėdėti ir stebėti visus makrokomandos veiksmus ekrane. Nors tai padaryti gali būti pamokoma, tinkamai pradėjus veikti makrokomandai, tai dažnai erzina ir gali labai sulėtinti makrokomandos veikimą. Laimei, galite išjungti ekrano naujinimą, kuris paprastai vyksta vykdant makrokomandą. Norėdami išjungti ekrano naujinimą, naudokite šį teiginį:

Application.ScreenUpdating = Netiesa

Jei norite, kad vartotojas matytų, kas vyksta bet kuriuo makrokomandos momentu, naudokite šį teiginį, kad vėl įjungtumėte ekrano naujinimą:

Application.ScreenUpdating = Tiesa

Norėdami parodyti greičio skirtumą, vykdykite šią paprastą makrokomandą, kuri užpildo diapazoną skaičiais:

Sub FillRange()
  Dim r as Long, c As Long
  Pritemdykite numerį kaip ilgą
  Skaičius = 0
  Jei r = 1 iki 50
    Kai c = 1 iki 50
      Skaičius = skaičius + 1
      Langeliai (r, c). Pasirinkite
      Langeliai (r, c). Reikšmė = skaičius
    Kitas c
  Kitas r
Pabaigos sub

Matote, kad kiekvienas langelis pasirenkamas ir į langelius įvedama reikšmė. Dabar procedūros pradžioje įterpkite šį teiginį ir paleiskite jį dar kartą:

Application.ScreenUpdating = Netiesa

Diapazonas užpildomas daug greičiau, o rezultato nematysite tol, kol makrokomandos vykdymas nebaigtas ir ekrano naujinimas (automatiškai) nenustatytas į True.

Kai derinate kodą, programos vykdymas kartais baigiasi kažkur per vidurį jums neįjungus ekrano atnaujinimo. Dėl to kartais „Excel“ programos langas visiškai nereaguoja. Išeitis iš šios užšaldytos būsenos paprasta: grįžkite į VBE ir tiesioginiame lange vykdykite šį teiginį:

Application.ScreenUpdating = Tiesa

Automatinio skaičiavimo išjungimas

Jei turite darbalapį su daugybe sudėtingų formulių, galite pastebėti, kad galite žymiai paspartinti darbą, nustatydami skaičiavimo režimą rankiniu būdu, kol vykdoma makrokomanda. Baigę makrokomandą, nustatykite skaičiavimo režimą atgal į automatinį.

Šis teiginys nustato „Excel“ skaičiavimo režimą į rankinį:

Application.Calculation = xlCalculationManual

Vykdykite kitą sakinį, kad nustatytumėte automatinį skaičiavimo režimą:

Taikymas.Skaičiavimas = xlCalculationAutomatic

Jei kode naudojami langeliai su formulės rezultatais, skaičiavimo išjungimas reiškia, kad langeliai nebus perskaičiuojami, nebent aiškiai nurodysite tai padaryti programai Excel!

Pašalinkite tuos įkyrius įspėjimo pranešimus

Kaip žinote, makrokomanda gali automatiškai atlikti keletą veiksmų. Daugeliu atvejų galite pradėti kurti makrokomandą ir eiti į poilsio kambarį, kol programa „Excel“ atlieka savo darbą. Tačiau kai kurios „Excel“ operacijos rodo pranešimus, kuriems reikia žmogaus atsako. Šio tipo pranešimai reiškia, kad negalite palikti „Excel“ be priežiūros, kol ji vykdo jūsų makrokomandą, nebent žinote slaptą triuką.

Excel 2016 VBA greičio patarimai

Galite nurodyti Excel nerodyti šių tipų įspėjimų vykdant makrokomandą.

Slaptas triukas, kaip išvengti šių įspėjimų pranešimų, yra įterpti šį VBA teiginį į makrokomandą:

Application.DisplayAlerts = Netiesa

„Excel“ vykdo numatytąją šių tipų pranešimų operaciją. Jei ištrinate lapą, numatytoji operacija yra Naikinti. Jei nesate tikri, kokia yra numatytoji operacija, atlikite testą, kad pamatytumėte, kas atsitiks.

Kai procedūra baigiasi, „Excel“ automatiškai iš naujo nustato „DisplayAlerts“ ypatybę į „True“. Jei prieš pasibaigiant procedūrai reikia vėl įjungti įspėjimus, naudokite šį teiginį:

Application.DisplayAlerts = Tiesa

Objektų nuorodų supaprastinimas

Kaip tikriausiai jau žinote, nuorodos į objektus gali tapti labai ilgos. Pavyzdžiui, visa nuoroda į diapazono objektą gali atrodyti taip:

Darbaknygės („Mano knyga.xlsx“). Darbo lapai („Sheet1“) _
  .diapazonas („palūkanų norma“)

Jei jūsų makrokomandoje šis diapazonas dažnai naudojamas, galbūt norėsite sukurti objekto kintamąjį naudodami komandą Set. Pavyzdžiui, šis teiginys priskiria šį diapazono objektą objekto kintamajam pavadinimu Greitis:

Nustatyti rodiklį = darbaknygės („MyBook.xlsx“) _
  .Darbo lapeliai („Sheet1“). Diapazonas („Palūkanų norma“)

Apibrėžę šį objekto kintamąjį, galite naudoti kintamąjį Greitis, o ne ilgą nuorodą. Pavyzdžiui, galite pakeisti langelio, pavadinto InterestRate, reikšmę:

Įvertinimas.Vertė = 0,085

Tai daug lengviau įvesti nei šį teiginį:

Darbaknygės („Mano knyga.xlsx“). Darbo lapai („Sheet1“). _
  Diapazonas („palūkanų norma“) = 0,085

Objekto kintamieji ne tik supaprastina kodavimą, bet ir žymiai pagreitina makrokomandas.

Kintamųjų tipų deklaravimas

Paprastai jums nereikia jaudintis dėl duomenų, kuriuos priskiriate kintamajam, tipo. „Excel“ užkulisiuose tvarko visas detales. Pavyzdžiui, jei turite kintamąjį pavadinimu MyVar, tam kintamajam galite priskirti bet kokio tipo numerį. Jūs netgi galite priskirti jai teksto eilutę vėliau procedūros metu.

Jei norite, kad procedūros būtų vykdomos kuo greičiau, nurodykite „Excel“, kokio tipo duomenys bus priskirti kiekvienam jūsų kintamajam. Tai žinoma kaip kintamojo tipo deklaravimas .

Apskritai turėtumėte naudoti duomenų tipą, kuriam reikia mažiausio baitų skaičiaus, tačiau vis tiek galite apdoroti visus jam priskirtus duomenis. Kai VBA dirba su duomenimis, vykdymo greitis priklauso nuo VBA turimų baitų skaičiaus. Kitaip tariant, kuo mažiau duomenų naudoja baitų, tuo greičiau VBA gali pasiekti duomenis ir jais manipuliuoti. Išimtis yra sveikųjų skaičių duomenų tipas. Jei greitis yra labai svarbus, naudokite ilgų duomenų tipą.

Jei naudojate objekto kintamąjį, galite deklaruoti kintamąjį kaip konkretų objekto tipą. Štai pavyzdys:

Pritemdymo rodiklis kaip diapazonas
Nustatyti rodiklį = darbaknygės („MyBook.xlsx“) _
  .Darbo lapeliai („Sheet1“). Diapazonas („Palūkanų norma“)

Naudojant struktūrą With-End With

Ar reikia nustatyti daugybę objekto savybių? Jūsų kodas veikia greičiau, jei naudojate struktūrą With-End With. Papildomas pranašumas yra tai, kad jūsų kodą gali būti lengviau perskaityti.

Toliau pateiktame kode nenaudojama su pabaiga:

Selection.Horizontal Alignment = xlCenter
Selection.VerticalAlignment = xlCenter
Selection.WrapText = Tiesa
Pasirinkimas.Orientacija = 0
Selection.ShrinkToFit = Netiesa
Selection.MergeCells = Netiesa

Štai tas pats kodas, perrašytas, kad būtų naudojamas su pabaiga:

Su atranka
  .HorizontalAlignment = xlCenter
  .VerticalAlignment = xlCenter
  .WrapText = Tiesa
  .Orientacija = 0
  .ShrinkToFit = Netiesa
  .MergeCells = Netiesa
Baigti su

Kai naudojate With-End With, įsitikinkite, kad kiekvienas teiginys prasideda tašku.


Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti „Microsoft Word“ atidaryti failų tik skaitymo režimu sistemoje „Windows“.

Kaip neleisti Microsoft Word atidaryti failų tik skaitymo režimu sistemoje Windows. Microsoft Word atidaro failus tik skaitymo režimu, todėl jų redaguoti neįmanoma? Nesijaudinkite, metodai pateikiami žemiau

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti neteisingą Microsoft Word dokumentų spausdinimą

Kaip ištaisyti klaidas spausdinant neteisingus Microsoft Word dokumentus.Klaidos spausdinant Word dokumentus su pakeistais šriftais, netvarkingomis pastraipomis, trūkstamo teksto ar prarasto turinio yra gana dažnos. Tačiau nereikia

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Ištrinkite rašiklio ir paryškinimo piešinius savo „PowerPoint“ skaidrėse

Jei naudodami rašiklį ar žymeklį piešėte ant savo PowerPoint skaidrės pristatymo metu, galite išsaugoti brėžinius kitam pristatymui arba ištrinti juos, kad kitą kartą rodydami pradėtumėte nuo švarių PowerPoint skaidrių. Vykdykite šias instrukcijas, kad ištrintumėte rašiklio ir žymeklio piešinius: Trinti linijas po vieną […]

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekos turinys „SharePoint 2010“.

Stilių bibliotekoje yra CSS failų, XSL (Extensible Stylesheet Language) failų ir vaizdų, naudojamų iš anksto nustatytų puslapių puslapiuose, puslapių išdėstymuose ir valdikliuose „SharePoint 2010“. Norėdami rasti CSS failus publikavimo svetainės stilių bibliotekoje: pasirinkite Svetainės veiksmai → Peržiūrėti Visas svetainės turinys. Pasirodo svetainės turinys. Stiliaus biblioteka yra […]

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Formatuokite skaičius tūkstančiais ir milijonais „Excel“ ataskaitose

Neužkraukite savo auditorijos milžiniškais skaičiais. Programoje „Microsoft Excel“ galite pagerinti informacijos suvestinių ir ataskaitų skaitomumą formatuodami skaičius, kad jie būtų rodomi tūkstančiais arba milijonais.

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Kaip bendrinti ir stebėti „SharePoint“ svetaines

Sužinokite, kaip naudoti „SharePoints“ socialinių tinklų įrankius, leidžiančius asmenims ir grupėms bendrauti, bendradarbiauti, bendrinti ir prisijungti.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Kaip konvertuoti datas į Juliano formatus programoje „Excel“.

Julijaus datos dažnai naudojamos gamybos aplinkoje kaip laiko žyma ir greita partijos numerio nuoroda. Šio tipo datos kodavimas leidžia mažmenininkams, vartotojams ir paslaugų agentams nustatyti, kada produktas buvo pagamintas, taigi ir produkto amžių. Julijaus datos taip pat naudojamos programavimo, kariuomenės ir astronomijos srityse. Skirtingi […]

Kaip sukurti „Access“ žiniatinklio programą

Kaip sukurti „Access“ žiniatinklio programą

Galite sukurti žiniatinklio programą naudodami „Access 2016“. Taigi, kas vis dėlto yra žiniatinklio programa? Na, žiniatinklis reiškia, kad jis yra internete, o programa yra tik „programos“ santrumpa. Pasirinktinė žiniatinklio programa yra internetinė duomenų bazės programa, pasiekiama iš debesies naudojant naršyklę. Kuriate ir prižiūrite žiniatinklio programą darbalaukio versijoje […]

Greitosios paleidimo juosta „SharePoint 2010“.

Greitosios paleidimo juosta „SharePoint 2010“.

Daugumoje „SharePoint 2010“ puslapių sparčiojo paleidimo juostoje, esančioje kairėje puslapio pusėje, pateikiamas naršymo nuorodų sąrašas. Greitosios paleidimo juostoje rodomos nuorodos į siūlomą svetainės turinį, pvz., sąrašus, bibliotekas, svetaines ir publikavimo puslapius. Greitojo paleidimo juostoje yra dvi labai svarbios nuorodos: Visas svetainės turinys: […]

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Ką reiškia „Excel“ sprendimo klaidų pranešimai?

Paprastoms problemoms spręsti „Excel“ sprendėjas paprastai greitai suranda optimalias tikslinės funkcijos „Solver“ kintamųjų reikšmes. Tačiau kai kuriais atvejais „Solver“ turi problemų ieškant „Solver“ kintamųjų reikšmių, optimizuojančių tikslo funkciją. Tokiais atvejais „Solver“ paprastai rodo pranešimą arba klaidos pranešimą, kuriame aprašoma arba aptariama problema, kurią […]