VBA-Fehler „Nicht genügend Speicherplatz“
In this Article
In diesem Tutorial wird der VBA-Fehler Nicht genügend Speicherplatz erklärt.
Der VBA-Fehler Nicht genügend Speicherplatz tritt auf, wenn Excel bei der Ausführung eines Makros alle Ressourcen Ihres Rechners verbraucht hat und buchstäblich kein Speicher mehr zur Verfügung steht, um weiter zu rechnen oder Code auszuführen. Dies kann vorkommen, wenn Sie viele Anwendungen ausführen und versuchen, ein umfangreiches Makro in Excel auszuführen, oder wenn Sie irrtümlich eine Endlosschleife in Excel erstellt haben.
(Weitere Informationen zu VBA-Fehlern finden Sie in unserem Leitfaden zur Fehlerbehandlung)
Ursachen des Fehlers „Nicht genügend Speicherplatz“
Ein Speicherplatzmangel kann auftreten, wenn man mit einer Arbeitsmappe arbeitet, die viele Arbeitsblätter und Tausende von Zeilen enthält. Wenn wir eine Schleife erstellen, die mit einer großen Datenmenge arbeitet, kann ein Speicherplatzmangelfehler auftreten. Er kann auch auftreten, wenn wir mit mehreren Objekten arbeiten und jedes Objekt mit einer SET-Anweisung festlegen, dann aber die Verweise auf die Objekte zwischen Prozeduren oder Schleifen nicht löschen.
Zum Beispiel könnte die folgende Schleife definitiv einen Speicherfehler verursachen, wenn Sie mehrere Dateien mit mehreren Blättern geöffnet haben.
Sub SpeicherTesten()
Dim wb As Workbook
Dim ws As Worksheet
Dim i As Single
For Each wb In Application.Workbooks
For Each ws In wb.Sheets
Do Until ActiveCell = "A1048576"
ActiveCell = 1 i
i = i 1
ActiveCell.Offset(1, 0).Select
Loop
Next ws
Next wb
End Sub
Verhindern des Fehler „Nicht genügend Speicherplatz“
Objekte freigeben
Wenn wir mit Schleifen und Objekten arbeiten, müssen wir sicherstellen, dass wir das Objekt auf NOTHING setzen, sobald es verwendet wurde und nicht mehr benötigt wird. Dadurch wird der Speicherplatz freigegeben.
Sicherstellen, dass nur eine Instanz von Excel ausgeführt wird
Wenn wir mit großen Dateien und riesigen Datenmengen arbeiten, sollten Sie sicherstellen, dass Sie nicht mehrere Excel-Sitzungen geöffnet haben. Es muss nur eine geöffnet sein. Sie können dies überprüfen, indem Sie den Task Manager aufrufen und nachsehen, wie viele Instanzen von Excel ausgeführt werden.
Drücken Sie die Tastenkombination Strg-Alt-Entf auf der Tastatur.
Klicken Sie auf Task Manager und vergewissern Sie sich, dass nur eine Instanz von Excel ausgeführt wird. In der folgenden Grafik ist eine Instanz mit 2 Fenstern zu sehen.
Wir können auch im Task Manager überprüfen, ob keine Instanz von Excel im Hintergrund läuft (d. h. nicht sichtbar ist).
Scrollen Sie im Task-Manager nach unten, bis Sie Hintergrundprozesse sehen, und vergewissern Sie sich, dass Excel nicht in der Liste der Programme aufgeführt ist.
Überprüfen Sie die Größe Ihrer Excel-Datei
Oft gibt es Zeilen und Spalten, auf die zugegriffen wurde, und die unter den Zeilen und Spalten liegen, die in Ihren Arbeitsblättern tatsächlich verwendet werden. Excel verbraucht in diesen Zellen Speicherplatz, auch wenn diese leer sind. Überprüfen Sie die Größe der Datei, indem Sie auf der Tastatur die Tastenkombination STRG+UMSCHALTTASTE+ENDE drücken und sehen, wo Ihr Zellenzeiger landet. Wenn er weit unter der letzten verwendeten Zelle steht, löschen Sie alle leeren Zeilen und Spalten oberhalb des Zellzeigers und speichern Sie die Datei erneut ab.
Andere Möglichkeiten zur Überprüfung des Speichers
Es gibt verschiedene andere Möglichkeiten, Speicher in Excel freizugeben. Eine gute Idee besteht darin, Excel zu schließen, wenn Sie es nicht benutzen, und es später wieder zu öffnen. Dadurch wird Speicherplatz frei, den Excel belegt, da es dazu neigt, Speicher zu belegen, auch wenn keine Arbeitsmappe geöffnet ist! Vergewissern Sie sich immer, dass Ihre Office-Version auf dem neuesten Stand ist, indem Sie auf Ihrem PC nach Updates suchen, und überprüfen Sie, ob unnötige VBA-Add-Ins verwendet werden. Sie können diese deinstallieren, um noch mehr Speicher freizugeben.