Kytke automaattiset laskutoiminnot pois päältä (tai päälle) - VBA -koodiesimerkkejä

Aina kun päivität solun arvon, Excel käy läpi työkirjan uudelleenlaskennan. Kun työskentelet suoraan Excelissä, haluat tämän tapahtuvan 99,9% ajasta (poikkeus on, jos työskentelet erittäin suuren työkirjan kanssa). Tämä voi kuitenkin todella hidastaa VBA -koodiasi. On hyvä käytäntö asettaa laskutoimitukset manuaaliseksi makrojen alussa ja palauttaa laskelmat makrojen lopussa. Jos haluat laskea työkirjan uudelleen, voit käsin laskea Excelin manuaalisesti.

Poista automaattiset laskelmat käytöstä

Voit poistaa makron automaattisen laskennan käytöstä asettamalla sen arvoksi xlmanual. Käytä seuraavaa VBA -koodin osaa:

1 Application.Calculation = xlManual

Ota automaattiset laskelmat takaisin käyttöön

Automaattisen laskennan ottaminen uudelleen käyttöön asetuksella xlAutomatic:

1 Application.Calculation = xlAutomatic

Suosittelen poistamaan automaattiset laskelmat käytöstä heti menettelyn alussa ja ottamaan automaattiset laskelmat uudelleen käyttöön lopussa. Se näyttää tältä:

Poista käytöstä Automaattiset laskutoimitukset -esimerkki

12345678 Aliautomaattiset_laskut_esimerkki ()Application.Calculation = xlManual'Tee jotainApplication.Calculation = xlAutomaticEnd Sub

Manuaalinen laskeminen

Kun Automaattiset laskelmat on poistettu käytöstä, voit käyttää Laskea komento pakottaa Excel laskemaan uudelleen:

1 Laskea

Voit myös pyytää Exceliä laskemaan uudelleen vain yksittäisen laskentataulukon:

1 Laskentataulukot ("arkki1")

Voit myös pyytää VBA: ta laskemaan uudelleen vain alueen (napsauta ja lue artikkeli VBA -laskentamenetelmistä)

Tältä makro saattaa näyttää:

12345678910111213 Aliautomaattinen_laskenta_esimerkki_käsikirjalaskuri ()Application.Calculation = xlManual'Tee jotain'Laske uudelleenLaskea'Tee enemmän asioitaApplication.Calculation = xlAutomaticEnd Sub

VBA -asetukset - nopeutuskoodi

Jos tavoitteesi on nopeuttaa koodiasi, harkitse myös näiden muiden asetusten säätämistä:

Näytön päivityksen poistaminen käytöstä voi vaikuttaa suuresti nopeuteen:

1 Application.ScreenUpdating = Väärä

Tilapalkin poistaminen käytöstä tekee myös pienen eron:

1 Application.DisplayStatusBar = Väärä

Jos työkirjasi sisältää tapahtumia, sinun on myös poistettava tapahtumat käytöstä toimenpiteiden alussa (nopeuttaaksesi koodia ja estääksesi loputtomat silmukat!):

1 Application.EnableEvents = Väärä

Lopuksi VBA-koodisi voi hidastua, kun Excel yrittää laskea sivunvaihdot uudelleen (Huomautus: tämä ei vaikuta kaikkiin menettelyihin). Voit poistaa DisplayPageBreaksin käytöstä käyttämällä tätä koodiriviä:

1 ActiveSheet.DisplayPageBreaks = Väärä

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave