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.

Leave a Comment

Specialiųjų simbolių įterpimas į Word 2010

Specialiųjų simbolių įterpimas į Word 2010

Kartais gali prireikti įterpti neįprastą simbolį į Word 2010 dokumentą. Perskaitykite, kaip lengvai tai padaryti su mūsų patarimais ir simbolių sąrašu.

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

Kaip naudoti logines funkcijas „Excel 2010“ formulėse

„Excel 2010“ naudoja septynias logines funkcijas – IR, FALSE, IF, IFERROR, NOT, OR ir TRUE. Sužinokite, kaip naudoti šias funkcijas efektyviai.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Kaip paslėpti ir rodyti eilutes ir stulpelius programoje „Excel 2016“.

Sužinokite, kaip paslėpti ir atskleisti stulpelius bei eilutes programoje „Excel 2016“. Šis patarimas padės sutaupyti laiko ir organizuoti savo darbalapius.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Kaip apskaičiuoti slenkančius vidurkius programoje „Excel“.

Išsamus vadovas, kaip apskaičiuoti slankiuosius vidurkius „Excel“ programoje, skirtas duomenų analizei ir orų prognozėms.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Kaip nukopijuoti formules naudojant automatinį pildymą programoje „Excel 2016“.

Sužinokite, kaip efektyviai nukopijuoti formules Excel 2016 programoje naudojant automatinio pildymo funkciją, kad pagreitintumėte darbo eigą.

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Kaip „Excel 2010“ langeliams taikyti užpildymo spalvas, raštus ir gradientus

Galite pabrėžti pasirinktus langelius „Excel 2010“ darbalapyje pakeisdami užpildymo spalvą arba pritaikydami ląstelėms šabloną ar gradiento efektą.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Kaip paryškinti savaitgalio datas programoje „Excel“.

Dirbdami su laiko kortelėmis ir planuodami programą „Excel“, dažnai pravartu lengvai nustatyti bet kokias datas, kurios patenka į savaitgalius. Šiame straipsnyje pateikiami žingsniai, kaip naudoti sąlyginį formatavimą.

Kaip sukurti diagramas „Office 365“.

Kaip sukurti diagramas „Office 365“.

Sužinokite, kaip sukurti diagramas „Word“, „Excel“ ir „PowerPoint“ programose „Office 365“. Daugiau informacijos rasite LuckyTemplates.com.

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

Kaip sukurti pasirinktinius „Excel“ suvestinės lentelės skaičiavimus

„Excel“ suvestinės lentelės leidžia kurti <strong>pasirinktinius skaičiavimus</strong>, įtraukiant daug pusiau standartinių skaičiavimų. Šiame straipsnyje pateiksiu detalius nurodymus, kaip efektyviai naudoti šią funkciją.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Kaip pakeisti rašybos tikrinimo ir gramatikos nustatymus programoje „Word 2016“.

Nesvarbu, ar dievinate, ar nekenčiate Word gebėjimo išjuokti jūsų kalbos gebėjimus, jūs turite galutinį sprendimą. Yra daug nustatymų ir parinkčių, leidžiančių valdyti „Word“ rašybos ir gramatikos tikrinimo įrankius.