Nicht genügend Speichermeldung - Excel-Tipps

Steven aus Australien schreibt:

Ich habe ein VBA-Makro erstellt, das ungefähr 50 Diagramme aus einem Arbeitsblatt erstellen muss. Das Problem ist, dass jedes Mal, wenn ich das Programm starte, wenn ich zum 33. Diagramm komme, eine Fehlermeldung "Nicht genügend Speicher" anzeigt, das Excel-Programm abstürzt und ich das Programm beenden muss. Ich habe 256 MB RAM auf meinem PC und verwende Excel 97 in einem Windows NT-Betriebssystem.

Erstellen Sie jedes Diagramm als eigenes Diagrammblatt? Excel kann 16 Millionen Zellen in einem Arbeitsblatt verarbeiten, aber das stille Geheimnis ist, dass es nicht viele Arbeitsblätter verarbeiten kann. Die Hilfedatei besagt, dass die Anzahl der Arbeitsblätter durch "verfügbaren Speicher" begrenzt ist.

Ich erlebe regelmäßig das Problem, das Sie haben. Es ist schrecklich frustrierend, weil man nie weiß, wann es kurz vor dem Absturz steht. Wenn Visual Basic Ihnen einen abfangbaren Fehler liefert, können Sie das Makro stoppen, die Datei speichern und in einer neuen Datei beginnen. Aber sie tun es nicht - Sie bekommen nur einen Absturz.

Ich habe gesehen, dass der Absturz erst in 130 Arbeitsblättern und bereits in 40 aufgetreten ist. Sie müssen abschätzen, wo er in Ihrem System abstürzen wird, und dann einen Zähler in das Makro einfügen. Wenn Sie glauben, dass Sie nach 32 Diagrammen abstürzen werden, stoppen Sie den Vorgang bei 30 Diagrammen, speichern Sie sie in einer neuen Arbeitsmappe, schließen Sie diese Arbeitsmappe und erstellen Sie sie erneut in einer neuen Arbeitsmappe.

Das ist nicht schön, aber es ist die einzige Problemumgehung, die ich gefunden habe.

Ein weiterer Gedanke: Stellen Sie sicher, dass Sie jedes Modul und Benutzerformular im Visual Basic-Editor mit dem "X" in der oberen rechten Ecke schließen. Ich habe festgestellt, dass Sie durch einfaches Schließen aller Komponenten in Visual Basic vor dem Ausführen des Makros etwas mehr Speicher freigeben und möglicherweise ein paar weitere Diagramme in den "verfügbaren Speicher" drücken können.

Oben habe ich darüber gesprochen, Dinge zu tun, um das Gedächtnis zu erhalten. Steven schrieb heute mit einer ausgezeichneten Entdeckung zurück:

Ich habe festgestellt, dass ich, wenn ich die Diagramme AutoScaleFont auf False setze, ungefähr 120 Diagramme erstellen kann, was mein Problem gelöst hat.

Warum das so ist, weiß ich nicht, aber das ist Excel. Hervorragender Tipp - verstauen Sie diesen als obskure Methode zur Speichererhaltung.

Interessante Beiträge...