Office: (Office 2007) Speicherhandling in Excel VBA / Nicht genügend Speicher

Helfe beim Thema Speicherhandling in Excel VBA / Nicht genügend Speicher in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Moin moin! Ich programmiere mit Excel VBA sehr umfangreiche Funktionen. Bei Excel 2003 bin ich mit meinen Variablen-Arrays an eine Speichergrenze... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von LeCreativo, 27. April 2011.

  1. Speicherhandling in Excel VBA / Nicht genügend Speicher


    Moin moin!

    Ich programmiere mit Excel VBA sehr umfangreiche Funktionen. Bei Excel 2003 bin ich mit meinen Variablen-Arrays an eine Speichergrenze gestoßen:

    "Nicht genügend Speicher."

    Das Googeln brachte eine Idee: Excel 2003 kann nur 1 GB, Excel 2007 schon 2 GB und Excel 2010 theoretisch unbegrenzt viel Speicher nutzen. Oder so ungefähr.

    Nun habe ich Excel 2010 gekauft und im Einsatz, und auch hier ist alles unverändert :-(

    FRAGEN:

    - begrenzt Windows XP möglicherweise Excel 2010 bei der Speicherausnutzung?
    - gibt es Möglichkeiten, den belegten Speicher anzuzeigen und zu verwalten?
    - wer hat ansonsten Tipps zum Speicherhandling bei großen VBA-Projekten?

    Freue mich auf jede Antwort!

    :)
     
    LeCreativo, 27. April 2011
    #1
  2. Manchmal hilft ja nicht groß, größer, noch größer, sondern überlegt und strukturiert. Die Russen waren vor den Amerikanern im Weltraum, obwohl sie die schmaleren Computer hatten.
     
  3. Hallo!

    Aber eben nur theoretisch. Der Arbeitsspeicher wird vom Betriebssystem verwaltet. Da kann der Anwender selber nicht eingreifen. Und wenn Windows nur 1 GB Speicher zuweist, dann ist nichts zu machen.

    IMHO hat diese Fehlermeldung aber gar nichts mit dem RAM zu tun, sondern mit Stack (Stapelspeicher). Wenn der nicht ausreicht und/oder überläuft, dann lässt sich IMHO nicht viel ändern.

    Derartige Fehler treten übrigens nur bei fehlerhafter und/oder schlechter Programmierung auf. Normalerweise sollte selbst ein umfangreich programmierter Code keine Probleme haben.

    Wie sieht denn Dein Code aus und was soll er machen? Wenn Du ihn hier postest, dann kann man sich das anschauen und eventeull eine besseres und "leichteres" Makro erstellen.

    Gruß, René
     
    Zuletzt von einem Moderator bearbeitet: 12. Januar 2021
    mumpel, 29. April 2011
    #3
  4. Speicherhandling in Excel VBA / Nicht genügend Speicher

    Im Grunde habe ich ein komplettes eigenes Programm geschrieben. Bestehend aus diversen Modulen, Procedures, UserForms etc..

    Die Russen mögen als erste im Weltall gewesen sein, aber meine Anforderungen übertreffen möglicherweise die Ziele von damals :-)

    Ich habe im Grunde eine eigene Agentursoftware/Datenbanklösung geschrieben, die primär eine reine VBA-Lösung darstellt und Excel fast nur zur Anzeige und Eingabe nutzt.

    So kommen diverse mehrdimensionale Arrays vor, bei denen ich durchaus sparsam vorgehe (Integer-Variablen, wo möglich etc).

    Ich glaube nicht, dass die Meldung "Speicher voll" auf schlechte Programmierung zurückgeht. Höchtens auf umfangreiche. Wenn ich die Variablenfelder klein halte, läuft ja alles perfekt. Nur ist mir das Limit so langsam zu drückend und ich sehe bei derartig leistungsfähigen System von heute nicht ein, micht eine pauschalen "Speicher voll"-Meldung geschlagen zu geben.

    Daher möchte ich die Ursprungsfrage nochmal herausheben:

    Kann man den verbrauchten Speicher detaillierter anzeigen/regeln/zuweisen?

    Vielen Dank für eure Hilfe!
     
    LeCreativo, 1. Mai 2011
    #4
  5. Da staunt der Laie:
    - Datenbanklösung als reines VBA? Man würde Tabellen und Abfragen vermuten und etwas VBA für den Bedienkomfort, aber eine VBA-Datenbank ...
    - Nur Eingabe und Anzeige: Keine Speicherung? Da darf wohl niemand das Programm beenden - bei Strafe einer erheblichen Neueingabe?
    Erstaunlich finde ich dann, dass Du mit Agenturen und deren Daten an Grenzen stößt, andere aber ganze Konzerne oder Handelshäuser mit ihren Prozessen in Datenbanken abbilden können. Ob die vielleicht doch geeignetere Wege gefunden haben?
    Als erstes fällt mir der Windows Task Manager ein (Registerkarte Prozesse). Als zweites dies: Hier klicken
     
    ebs17, 1. Mai 2011
    #5
  6. > Nur Eingabe und Anzeige: Keine Speicherung? Da darf wohl niemand das Programm beenden - bei Strafe einer erheblichen Neueingabe?

    Könnte man meinen. Nein, die Speicherung erfolgt in separaten Dateien in einem eigenen Datenformat.

    Danke schon mal für die Tipps!

    Der Speicher, der an die Grenze stößt, ist demnach: "Speicher für VBA-Programme (VBA Memory)". Ich meine herauszulesen, dass er auf 1 GB begrenzt ist. Offenbar auch noch in Excel 2010 ...
     
    LeCreativo, 1. Mai 2011
    #6
  7. Mit wieviel Datensätzen stößt man denn an Speichergrenzen?
    Richtige Datenbanken können mit erheblichen Datenmengen umgehen, Bearbeitungsmethoden wie SQL können das auch recht flüssig.

    Verzeihe, aber: Ich komme aus der Datenbankecke. Wenn ich lese "Datenbank auf Excelbasis", habe ich nur ein trauriges Lächeln dafür. Excel ist nun eine sehr fähige und umfangreiche Anwendung, Datenbankfähigkeiten zählen aber nun nicht zu den Kernkompetenzen. Wenn ich lese "Datenbankaufgaben als reine VBA-Lösung", dann ist das Spielerei und keine gezielte Arbeit. SQL ist die Sprache der Massendatenverarbeitung, auch schon für kleinere Massen.
    Das ist kein Gütezeichen: Keine Indizierung möglich (verschenkte Performance), umständliche Sortierung, ungenügende Filterung, Schleifen statt Massendatenverarbeitung.

    Vielleicht siehst Du Dir mal eine richtige Datenbank an.
    Eine MDB/ACCDB (Access-Datenbank) darf eine maximale Größe von 2 GB annehmen. Das können bei Trennung in Frontend und Backend pro Datei je 2 GB sein, es wären aber auch mehrere Backends möglich. Von Speicherproblemen in der Praxis liest man da selten, diese sind dann i.d.R. - wie oben schon angedeutet - in fehlerhafter und/oder schlechter Programmierung begründet.
     
    ebs17, 1. Mai 2011
    #7
Thema:

Speicherhandling in Excel VBA / Nicht genügend Speicher

Die Seite wird geladen...
  1. Speicherhandling in Excel VBA / Nicht genügend Speicher - Similar Threads - Speicherhandling Excel VBA

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Hochzählen Zelle Excel oder Office365?

    in Microsoft Excel Hilfe
    Hochzählen Zelle Excel oder Office365?: Hallo zusammen Ich möchte im Excel eine Spalte mit den Schaltknopf hochzählen. Lokal funktioniert es einwandfrei, wie könnte ich es lösen da verschiedene Personen die gleiche Datei öffnen müssen,...
  4. Zugriff auf nicht vorhandene Datei seitens Excel

    in Microsoft Excel Hilfe
    Zugriff auf nicht vorhandene Datei seitens Excel: Hallo, wann immer ich in Excel Daten in eine Zelle gebe, dauert es ca. 1-2 Minuten, bevor Excel die weitere Bearbeitung freigibt. Unten links gibt es den Hinweis "Zugriff auf Datei erfolgt". Dies...
  5. pdf drucken mit button in excel einfügen

    in Microsoft Excel Hilfe
    pdf drucken mit button in excel einfügen: Guten Abend! Habe mit zahlreicher Unterstützung geschafft einen Button auf mein dritten Tabellenblatt einzufügen Funktion fähig. Nun brauche ich nochmals Hilfe. Ich will mittels des PDF Drucken...
  6. Excel icon fehlt

    in Microsoft Excel Hilfe
    Excel icon fehlt: Hallo zusammen ich habe das Icon aus Datei nicht um Daten abzurufen [ATTACH] was kann ich tun? bei Daten zusammenführen ist es vorhanden - ich möchte eigentlich alle Tabellenblätter in eine...
  7. Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle

    in Microsoft Excel Hilfe
    Excel Tabellenblatt als PDF speichern unter Vorgabe Dateinamen aus einer Zelle: Hallo zusammen, ich möchte eine VBA Programmierung machen wie folgt. Das aktuelle Excel-Tabellenblatt soll als PDF Speicher unter, unter Vorgabe des Dateinamens der in Zelle A1 steht gespeichert...
  8. VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen

    in Microsoft Word Hilfe
    VBA: Platzhalter ersetzen und evtl. leere Zeile einfügen: Hallo zusammen, ich habe eine Word-Vorlage mit Platzhaltern, in die ich mit VBA Daten aus einer Excel-Datei einfüge (in eine Excel-Zeile schreibe ich alle Daten für ein neues Word-Dokument). So...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden