Komunikat za mało pamięci - wskazówki dotyczące programu Excel

Steven z Australii pisze:

Stworzyłem makro VBA, które ma utworzyć około 50 wykresów z jednego arkusza. Problem polega na tym, że za każdym razem, gdy uruchamiam program, gdy dojdę do 33. wykresu, pojawia się komunikat o błędzie „Za mało pamięci”, po czym program Excel się blokuje i muszę zakończyć program. Mam 256 MB pamięci RAM w moim komputerze i używam programu Excel 97 w systemie operacyjnym Windows NT.

Czy tworzysz każdy wykres jako osobny arkusz wykresu? Excel może obsłużyć 16 milionów komórek w arkuszu, ale cichą tajemnicą jest to, że nie obsługuje wielu arkuszy. Plik pomocy mówi, że liczba arkuszy jest ograniczona przez „dostępną pamięć”.

Regularnie doświadczam problemu, który masz. Jest to strasznie frustrujące, ponieważ nigdy nie wiadomo, kiedy nastąpi awaria. Jeśli Visual Basic dałby ci błąd, który można było złapać, możesz zatrzymać makro, zapisać plik i rozpocząć od nowego pliku. Ale tak się nie dzieje - po prostu masz wypadek.

Widziałem awarię dopiero w 130 arkuszach i już w 40. Musisz ocenić, gdzie nastąpi awaria w systemie, a następnie wstawić licznik do makra. Jeśli myślisz, że nastąpi awaria po 32 wykresach, zatrzymaj ten proces przy 30 wykresach, zapisz je w nowym skoroszycie, zamknij ten skoroszyt i zacznij tworzyć je ponownie w nowym skoroszycie.

To nie jest ładne, ale jest to jedyne obejście, jakie znalazłem.

Inna myśl - upewnij się, że zamykasz każdy moduł i formularz użytkownika w Edytorze Visual Basic za pomocą „X” w prawym górnym rogu. Zauważyłem, że po prostu zamykając wszystkie komponenty w Visual Basic przed uruchomieniem makra, można zwolnić trochę więcej pamięci i prawdopodobnie wcisnąć kilka dodatkowych wykresów do „dostępnej pamięci”.

Powyżej mówiłem o robieniu rzeczy, aby zachować pamięć. Steven odpisał dziś z doskonałym odkryciem:

Odkryłem, że jeśli ustawię Charts AutoScaleFont na False, mogę utworzyć około 120 wykresów, co rozwiązało mój problem.

Dlaczego tak jest, nie mam pojęcia, ale to jest Excel. Doskonała wskazówka - odłóż tę jedną jako mało znaną metodę oszczędzania pamięci.

Interesujące artykuły...