VBA Muisti täynnä -virhe

Tämä opetusohjelma selittää VBA -muistin virheen.

VBA Muisti täynnä -virhe ilmenee, kun Excel on käyttänyt koneesi kaikkia resursseja makron suorittamisen aikana ja kirjaimellisesti loppuu muisti jatkaa koodin laskemista tai suorittamista. Tämä voi tapahtua, kun sinulla on paljon sovelluksia käynnissä ja yrität suorittaa suuren makron Excelissä, tai ehkä kun olet luonut ikuisen silmukan Excelissä virheellisesti.

(Katso virheidenkäsittelyoppaastamme lisätietoja VBA -virheistä)

Muistin loppumisvirheen syyt

Muisti loppu voi tapahtua, jos työskentelet työkirjan kanssa, joka sisältää monia laskentataulukoita ja tuhansia rivejä. Jos luomme silmukan, joka toimii suuren tietomäärän kanssa, saattaa ilmetä muistin loppumisvirhe. Se voi tapahtua myös, jos työskentelemme useiden objektien kanssa ja asetamme jokaiselle objektille SET -käskyn, mutta emme poista sitten viittauksia objekteihin menettelyjen tai silmukoiden välillä.

Esimerkiksi seuraava silmukka voi varmasti aiheuttaa muistivirheen, jos sinulla on useita tiedostoja auki useilla arkeilla.

1234567891011121314 Sub TestMemory ()Dim wb TyökirjanaDim ws laskentataulukkonaDim i Kuten SingleJokaiselle wb: lle sovelluksessa. TyökirjatJokaiselle ws In wb.SheetsTee kunnes ActiveCell = "A1048576"ActiveCell = 1 + ii = i + 1ActiveCell.Offset (1, 0) ValitseSilmukkaSeuraava wsSeuraava wbEnd Sub

Muistin loppumisvirheen estäminen

Vapauta objektit

Jos työskentelemme silmukoiden ja objektien kanssa, meidän on varmistettava, että asetamme objektille MITÄÄN, kun sitä on käytetty ja sitä ei enää tarvita - tämä vapauttaa muistia.

VBA -ohjelmointi | Koodigeneraattori toimii sinulle!

Varmista, että vain yksi Excel -esiintymä on käynnissä

Jos käsittelemme suuria tiedostoja ja suuria tietomääriä, tarkista, että sinulla ei ole useita Excel -istuntoja auki - sen on oltava auki vain kerran. Yksi tapa tarkistaa tämä on siirtyä Tehtävienhallintaan ja nähdä, kuinka monta Excel -esiintymää on käynnissä.

Lehdistö Ctl+Alt+Delete näppäimistöllä,

Klikkaa Tehtävienhallinta ja varmista, että käytössä on vain yksi Excel -esiintymä. Alla olevassa kuvassa on yksi esimerkki, jossa on 2 ikkunaa.

Voimme myös tarkistaa Tehtävienhallinnasta, ettei taustalla ole käynnissä Excel -ilmentymää (eli ei näy).

Vieritä alas Tehtävienhallinnassa, kunnes näet Taustaprosessit ja varmista, että Excel ei ole kyseisessä ohjelmaluettelossa.

Tarkista Excel -tiedoston koko

Usein on rivejä ja sarakkeita, joita on käytetty laskentataulukoidesi todellisten käytettyjen alla. Excel käyttää muistia näissä soluissa - vaikka ne olisivat tyhjiä. Tarkista tiedoston koko painamalla CTRL+VAIHTO+END näppäimistöstä nähdäksesi, mihin solun osoitin osuu. Jos se on selvästi viimeisen käyttämäsi solun alapuolella, varmista, että poistat kaikki tyhjät rivit ja sarakkeet solun osoittimen yläpuolelta ja tallennat tiedoston sitten uudelleen - tämä pienentää Excel -tiedoston kokoa.

Muita tapoja tarkistaa muisti

On monia muita tapoja vapauttaa muistia Excelissä. Hyvä idea on sulkea Excel, jos et käytä sitä, ja avata se myöhemmin - tämä vapauttaa muistin, jonka Excel tallentaa, koska se pyrkii tallentamaan muistia, vaikka työkirja ei olisi auki! Varmista aina, että Office -versiosi on ajan tasalla, etsimällä päivityksiä tietokoneeltasi ja tarkistamalla, onko käytössäsi VBA -apuohjelmia, joita et käytä, mutta joita et käytä - voit poistaa nämä asennukset vapauttaaksesi lisää muistia.

wave wave wave wave wave