Anzeige
Archiv - Navigation
1932to1936
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

nicht genügend Speicher.

nicht genügend Speicher.
09.07.2023 13:04:23
Christian

Hallo,

ich bitte um eure Hilfe.
habe ein riesengroßes Makro, welches im Verlauf weitere Makros ausführt. Ich poste nur das kleine Makro, in dem der Fehler auftritt, da der Fehler auch dann auftritt, wenn ich dieses Makro alleine ausführe.

Die Range wird noch kopiert, aber dann sagt er mir, nicht genügend Speicher, Laufzeitfehler 7.
Das einzige was ich seit es das letzte mal funktioniert hat, geändert habe ist das Zellformat in den Spalten C, E, I und K von Datum auf TT.MM.JJJJ;-0;;
aber selbst das zurückändern auf TT.MM.JJJJ hat das Ganze nicht wieder zum Laufen gebracht.
Ich meine, ich habe 720 GB freien Festplattenspeicher, 16 GB RAM, ich kann mir kaum vorstellen, das das nicht reicht um in einer 2 MB großen Datei eine Abfrage zu aktualisieren.
Die Abfrage lässt sich übrigens von Hand ohne Makro problemlos aktualisieren.
Beim Debuggen und beim Einzelschrittausführen wird die Zeile Range("G2" usw. gelb markiert, wenn der Fehler auftritt.

Weiß jemand einen Rat? Danke
Christian


Private Sub Sicherungskopie()

With Worksheets("Leute")
Letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
.Columns("G:L").ClearContents
.Range("G2:K" & Letzte) = .Range("A2:E" & Letzte).Value

ActiveWorkbook.Connections("Abfrage - Leute").Refresh

With .Range("L2:L" & Letzte)
.FormulaLocal = "=XVERWEIS(H2;B:B;E:E;"""";0;1)=K2"
.Formula = .Value2
End With

End With

End Sub


4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kann das Problem weiter eingrenzen...
09.07.2023 13:21:54
Christian
in der PQ Abfrage steht in der Zelle C2614 eine negative Zahl, ansonsten Daten im Format TT.MM.JJJJ.

Ursprung dessen ist eine CSV Datei, in der an dieser Stelle ein Datum vor dem 1.1.1900 steht, welches dann von der Abfrage in die Zahl -4474 umgewandelt wird.
Der Fehler kommt genau an der Stelle, wo die Zelle C2614 mit der negativen Zahl nach I2614 kopiert werden soll.

B2614 wird noch nach H2614 kopiert, I2614 sowie alle nachfolgenden Zellen bleiben leer.

Hoffe das macht die Sache etwas klarer.
Christian


Problem behoben
09.07.2023 13:30:20
Christian
habe in der Zeile

.Range("G2:K" & Letzte) = .Range("A2:E" & Letzte).Value

zu Value2 geändert.

Wäre aber nett wenn mir mal jemand erklären würde, weshalb ich Value2 brauche, wenn ich sowohl als Datum formatierte positive Zahlen als auch negative Zahlen mit der oben genannten zeile kopieren will und was das mit dem Speicherplatz zu tun hat?

Danke
Christian


Anzeige
Versuch einer Erklärung...
09.07.2023 14:47:31
Case
Hallo Christian, :-)

für Excel ist das Datum bzw. die Zeit eine Zahl. Jetzt formatierst du das. Bleibt eine Zahl. Mache folgenden Test:

  • In irgendeiner Zelle...

  • drücke die Tastenkombination STRG+. (STRG und den Punkt)

  • Dann die Leertaste drücken

  • Jetzt STRG+UMSCHALT+Punkt (STRG und die Großschreibtaste und den Punkt)

  • Dann steht Datum und Zeit in der Zelle


  • Nun gehst du in den VBA-Editor und gibst im Direktbereich (die Zelle mit dem Datum und der Uhrzeit hat den Rahmen, ist also ausgewählt) folgendes ein:

    ?activecell.Value
    Und RETURN drücken

    Jetzt siehst du z. B. 09.07.2023 14:23:00

    Nun setzt du den Cursor nochmal ans Ende von "?activecell.Value" und hängst noch eine 2 dran - also da steht dann:

    ?activecell.Value2
    Und RETURN drücken

    Jetzt ist die Ausgabe 45116,5993055556

    Vor dem Komma der Tag. Nach dem Komma die Uhrzeit. Lax ausgedrückt - Value zwingt ein Excel-Double in ein VBA-Datum/Zeit, aber Value2 tut das nicht. Siehe Range.Value2-Eigenschaft (Excel)...
    Schaue unter "Bemerkungen".

    Man bräuchte mehr native Excel-Datentypen um das Problem zu umgehen.

    Servus
    Case


    Anzeige
    also verstehe ich richtig
    09.07.2023 14:55:23
    Christian
    ... habe es natürlich ausprobiert.

    Value versucht, das Ganze in Date umzuwandeln und da es keine negativen Daten gibt, erzeugt es an dem Punkt einen Fehler. Value2 benutzt kein Date, lässt es also bei einer negativen Zahl und die kann dann kopiert werden. Korrekt?

    Ich verstehe aber immer noch nicht, was das Ganze mit nicht genügend Speicher zu tun hat.

    Gruß
    Christian

    Danke für die Erklärung

    51 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige