VBA memóriahiány hiba

Ez az oktatóanyag elmagyarázza a VBA memóriahiányos hibát.

A VBA memóriahiány hiba akkor jelentkezik, amikor az Excel a makró futtatása során felhasználta a gép összes erőforrását, és szó szerint elfogy a memória a kód számításához vagy futtatásához. Ez akkor fordulhat elő, ha sok alkalmazás fut, és megpróbál nagy makrót futtatni az Excelben, vagy ha véletlenül létrehozott egy állandó hurkot az Excelben.

(A VBA hibákkal kapcsolatos további információkért lásd a Hibakezelési útmutatót)

A memóriahiány okai

Memóriahiányos hiba léphet fel, ha olyan munkafüzettel dolgozik, amely sok munkalapot és több ezer sort tartalmaz. Ha olyan ciklust hozunk létre, amely nagy adatmennyiséggel működik, memóriahiányos hiba léphet fel. Ez akkor is előfordulhat, ha több objektummal dolgozunk, és minden objektumot SET utasítással állítunk be, de akkor nem töröljük az objektumokra vonatkozó hivatkozásokat az eljárások vagy ciklusok között.

Például a következő ciklus biztosan memóriahibát okozhat, ha több fájl van megnyitva több lappal.

1234567891011121314 Sub TestMemory ()Dim wb Mint munkafüzetDim ws munkalapkéntDim i As SingleMinden wb -ben az alkalmazásban. MunkafüzetekMinden ws -hez wb.SheetsTedd meg, amíg ActiveCell = "A1048576"ActiveCell = 1 + ii = i + 1ActiveCell.Offset (1, 0). Válassza kiHurokKövetkező wsKövetkező wbEnd Sub

A memóriahiány hiba megelőzése

Objektumok kiadása

Ha hurkokkal és objektumokkal dolgozunk, akkor meg kell győződnünk arról, hogy az objektumot SEMMI -re állítjuk, ha már használtuk, és már nincs rá szükség - ez felszabadítja a memóriát.

VBA programozás | A kódgenerátor működik az Ön számára!

Győződjön meg arról, hogy csak egy Excel példány fut

Ha nagy fájlokkal és hatalmas adatmennyiséggel dolgozunk, ellenőrizze, hogy nincs -e nyitva több Excel -munkamenet - csak egyszer kell megnyitni. Ennek egyik módja annak ellenőrzése, ha megnyitja a Feladatkezelőt, és megnézi, hány Excel -példány fut.

nyomja meg Ctl+Alt+Delete a billentyűzeten,

Kattintson Feladatkezelő és győződjön meg arról, hogy csak egy Excel példány fut. Az alábbi ábrán egy példány látható, 2 ablakkal.

Azt is ellenőrizhetjük a Feladatkezelőben, hogy a háttérben nem fut -e Excel -példány (azaz nem látható).

Görgessen lefelé a Feladatkezelőben, amíg meg nem jelenik Háttérfolyamatok és győződjön meg arról, hogy az Excel nem szerepel a programok listájában.

Ellenőrizze az Excel fájl méretét

Gyakran vannak olyan sorok és oszlopok, amelyek a ténylegesen használt munkalapok alatt találhatók. Az Excel memóriát használ ezekben a cellákban - még akkor is, ha azok üresek. A gomb megnyomásával ellenőrizze a fájl méretét CTRL+SHIFT+END a billentyűzeten, hogy lássa, hol helyezkedik el a cellamutató. Ha jóval az utolsó használt cella alá kerül, ügyeljen arra, hogy törölje az összes üres sort és oszlopot a cellamutató felett, majd mentse újra a fájlt - ez csökkenti az Excel fájl méretét.

A memória ellenőrzésének egyéb módjai

Számos más módja is van a memória felszabadítására az Excelben. Jó ötlet, ha bezárja az Excel programot, ha nem használja, majd később megnyitja - ez felszabadítja az Excel által tárolt memóriát, mivel hajlamos a memória tárolására akkor is, ha a munkafüzet nincs nyitva! Mindig győződjön meg arról, hogy az Office verziója naprakész, keresse meg a frissítéseket a számítógépén, és ellenőrizze, hogy vannak -e olyan VBA -bővítmények, amelyeket esetleg használnak, de nem használnak - ezeket eltávolíthatja, hogy még több memóriát szabadítson fel.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave