Nem elég a memóriaüzenet - Excel tippek

Az ausztrál Steven ezt írja:

Létrehoztam egy VBA makrót, amelynek kb. 50 diagramot kell létrehoznia egy munkalapból. A probléma az, hogy minden alkalommal, amikor a programot futtatom, amikor eljutok a 33. diagramra, egy hibaüzenet jeleníti meg a "Nincs elég memória" feliratot, majd az Excel program bezárul, és le kell állítanom a programot. 256Meg RAM van a számítógépemen, és az Excel 97-et használom Windows NT operációs rendszerben.

Minden diagramot saját diagramlapként hoz létre? Az Excel 16 millió cellát képes kezelni egy munkalapon, de a csendes titok az, hogy nem tud sok munkalapot kezelni. A súgófájl szerint a munkalapok számát a "rendelkezésre álló memória" korlátozza.

Rendszeresen tapasztalom a problémát. Iszonyatosan elkeserítő, mert soha nem lehet tudni, mikor fog lezuhanni. Ha a Visual Basic nyomon követhető hibát adna, leállíthatja a makrót, elmentheti a fájlt, és új fájlban kezdheti. De nem - csak összeomlik.

Láttam, hogy az összeomlás 130 munkalapon és 40-nél is bekövetkezett. Meg kell mérni, hogy a rendszer hol ütközik össze, majd egy számlálót kell elhelyeznie a makróban. Ha úgy gondolja, hogy 32 diagram után összeomlik, akkor állítsa le a folyamatot 30 diagramnál, mentse el őket egy új munkafüzetbe, zárja be azt a munkafüzetet, és kezdje el újból létrehozni őket egy új munkafüzetben.

Ez nem szép, de ez az egyetlen megoldás, amelyet találtam.

Egy másik gondolat - győződjön meg róla, hogy minden modult és felhasználói formát bezár a Visual Basic Editorban a jobb felső sarokban található "X" betű használatával. Megállapítottam, hogy a Visual Basic összes összetevőjének egyszerű bezárásával a makró futtatása előtt kissé több memóriát szabadíthat fel, és esetleg még néhány diagramot szoríthat az "elérhető memóriába".

Fentebb arról beszéltem, hogy tegyünk valamit az emlékezet megőrzése érdekében. Steven ma kiváló felfedezéssel írt vissza:

Megállapítottam, hogy ha a Charts AutoScaleFont értéket hamisra állítom, akkor körülbelül 120 diagramot hozhatok létre, ami megoldotta a problémámat.

Hogy miért van ez így, fogalmam sincs, de ez az Excel. Kiváló tipp - tegye ezt el, mint homályos módszert a memória megőrzésére.

érdekes cikkek...