Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Laufzeitfehler 7: Nicht genügend Speicher

Laufzeitfehler 7: Nicht genügend Speicher
29.02.2016 09:29:35
Max
Guten Morgen alle zusammen,
Ich bekomme seit heute Morgen den "Laufzeitfehler '7: Nicht genügend Speicher", wenn ich versuche mit dem Befehl "?activesheet.cells.formula" eine Formel in das R1C1-Format umrechnen zu lassen.
Meine Prozeduren laufen alle normal durch und der Fehler tritt auch in einer neuen, leeren Mappe auf.
Bei dem Befehl "?activesheet.cells.interior.color" erhalte ich außerdem immer eine 0 als Wert, unabhängig von der tatsächlichen Farbe.
Kennt jemand diese Problem?
MfG Max

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 7: Nicht genügend Speicher
29.02.2016 09:42:58
Daniel
Hi
mit dem .Cells. ohne Indexangabe fragst du alle Zellen des Tabellenblatts ab.
bei .Formula versucht VBA ein zweidimensionales Array mit den Formeln aller Zellen zu erstellen und das sind bei 1,04 Mio Zeilen und c.a. 16.000 Spalten dann 1,7 Billionen Formeln, ich hoffe du kannst verstehen, dass das den Speicher sprengt.
fragst du jedoch mit .Interior die Formatierung von mehr als einer Zelle ab, so erstellt VBA kein Array mit den Werten aller Zellen, sondern einen Einzelwert. Dieser entspricht jedoch nur dann dem Farbwert, wenn alle abgefragten Zellen die gleiche Farbe haben.
Haben die Zellen unterschiedliche Farben, so ist das Ergebnis 0.
Warum das jetzt so ist, wissen nur die Jungs in Seattle.
Gruß Daniel

Anzeige
AW: Laufzeitfehler 7: Nicht genügend Speicher
29.02.2016 09:48:19
Max
Manchmal sieht man vor lauter Bäumen den Wald nicht.
Muss natürlich ?activecell.formular1c1 heißen. *facepalm*
Danke!
Kaum macht mans richtig, schon funktionierts!

@Daniel:1,7 Billionen Formeln
29.02.2016 09:55:28
Rudi
Hallo,
ganz so viele sind es doch nicht.
Nur gut 17 Milliarden, also ein 100stel. Genau 17.179.869.184
Gruß
Rudi

Anzeige
AW: Laufzeitfehler 7: Nicht genügend Speicher
29.02.2016 09:44:09
ChrisL
Hi Max
Zu 1:
Excel-Optionen, Formeln, Z1S1-Bezugsart.
Zu 2:
"Cells" bezieht sich auf alle Zellen der Tabelle. Da vermutlich nicht alle Zellen das gleiche Format resp. Farbe haben, bekommst du kein eindeutiges Ergebnis.
cu
Chris

AW: Laufzeitfehler 7: Nicht genügend Speicher
29.02.2016 09:52:44
Max
Danke für die Antwort Chris,
ich will die Formel im Direktfenster des VBE umrechnen lassen, damit ich gleich die englische Schreibweise erhalte. (Brauche die Formel in einem Modul)
Der Fehler bei beiden Abfragen war einfach "activesheet" statt "activecell".
MfG Max
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 7: Nicht genügend Speicher in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Fehlerquelle identifizieren: Der Laufzeitfehler 7 tritt häufig auf, wenn VBA versucht, ein großes Array zu erstellen. Überprüfe, ob Du mit .Cells auf alle Zellen des Arbeitsblatts zugreifst, was zu einem enormen Speicherverbrauch führt.

  2. Korrekte Syntax verwenden: Anstatt ?activesheet.cells.formula solltest Du ?activecell.formular1c1 verwenden, um die Formel im R1C1-Format zu erhalten.

  3. Alternativen in Betracht ziehen: Wenn Du mit einer großen Anzahl von Zellen arbeitest, erwäge, nur die notwendigen Zellen abzufragen oder die Formel in kleinere Teile aufzuteilen.

  4. Speicher überprüfen: Stelle sicher, dass genügend Arbeitsspeicher zur Verfügung steht. Schließe nicht benötigte Programme, um den Excel-Arbeitsspeicher zu entlasten.


Häufige Fehler und Lösungen

  • Fehler: Laufzeitfehler 7: Nicht genügend Speicher

    • Lösung: Überprüfe die Verwendung von .Cells ohne Indexangabe. Nutze gezielte Abfragen wie .Cells(1,1).Formula.
  • Fehler: 0 als Rückgabewert bei .Interior.Color

    • Lösung: Stelle sicher, dass alle angefragten Zellen die gleiche Farbe haben. Andernfalls wird 0 zurückgegeben.

Alternative Methoden

  • Verwendung von Named Ranges: Statt alle Zellen zu referenzieren, kannst Du benannte Bereiche verwenden, um den Speicherverbrauch zu reduzieren.

  • Formeln in separaten Arrays speichern: Teile große Formeln in mehrere kleinere Arrays auf, um den laufzeitfehler 7 nicht genügend speicher zu vermeiden.


Praktische Beispiele

Sub BeispielKorrektur()
    ' Korrekte Abfrage einer Zelle
    Dim farbe As Long
    farbe = ActiveCell.Interior.Color

    ' Ausgabe der Formel im R1C1-Format
    Dim formel As String
    formel = ActiveCell.FormulaR1C1
    Debug.Print formel
End Sub

Tipps für Profis

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung in Dein VBA-Skript, um bei einem laufzeitfehler 7 schnell die Ursache zu identifizieren.

  • Speicheroptimierung: Achte darauf, dass Du regelmäßig den Cache in Excel leerst, um sicherzustellen, dass excel arbeitsspeicher voll nicht zu einem Problem wird.


FAQ: Häufige Fragen

1. Was bedeutet Laufzeitfehler 7?
Laufzeitfehler 7 tritt auf, wenn VBA nicht genügend Arbeitsspeicher zur Verfügung hat, um eine Operation auszuführen.

2. Wie kann ich den Fehler in Excel VBA vermeiden?
Vermeide es, auf alle Zellen eines Arbeitsblatts zuzugreifen, und nutze gezielte Abfragen oder benannte Bereiche.

3. Was kann ich tun, wenn der Arbeitsspeicher voll ist?
Schließe unnötige Programme oder speichere Deine Arbeit und starte Excel neu, um den Arbeitsspeicher zu entlasten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige