MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 09.02.2018, 13:30   #1
yogi II
Neuer Benutzer
Neuer Benutzer
Standard Excel2010 - 64 KB-Segmentgrenze

Hallöchen

W7, Excel 2010

ab und zu taucht bei mir die Fehlermeldung

Nicht genügend Speicher (Fehler 7): Es ist mehr Speicher erforderlich, als verfügbar ist, oder eine 64 KB-Segmentgrenze wurde erreicht.

Speicher ist mehr als genug vorhanden, es muss also die 64 KB-Segmentgrenze dafür verantwortlich sein.

Wenn ich die Makros der Arbeitsmappe exportiere, ist kein einziges Modul grösser als 58 KB. Wieso kommt dann doch diese Meldung?

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 13:39   #2
EarlFred
MOF Guru
MOF Guru
Standard

Hallo yogi,

mehrere Ursachen können zu diesem Fehler führen, nicht nur die Modulgröße.

Zitat:

ab und zu

Das deutet für mich eher auf andere Ursachen hin.

https://msdn.microsoft.com/de-de/VBA...memory-error-7

Hast Du diese Punkte geprüft?

Grüße
EarlFred

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste!

Geändert von EarlFred (09.02.2018 um 13:42 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 14:03   #3
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo EarlFred

ja, ich habe alle genannten Punkte überprüft. Ich hatte diesen Fall schon einmal mit einem 70 KB Modul. Das habe ich dann in 3 kleine zerlegt und das Problem war weg.

Meine Frage geht eigentlich dahin, wie kann ich die wirkliche Grösse eines Moduls sehen, die ja sicher nicht der Grösse des im Modul enthaltenenText ist.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 14:06   #4
steve1da
MOF Meister
MOF Meister
Standard

Hola,

zur Info....
http://www.herber.de/forum/messages/1607737.html

Gruß,
steve1da
steve1da ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 14:20   #5
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Jeck

Hallo steve1da

ich kenne diesen Beitrag

Leider brennt das Problem und ich brauche dringend eine Lösung. Sollte die kommen, werde ich sie natürlich an beiden Orten angeben.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 14:30   #6
EarlFred
MOF Guru
MOF Guru
Standard

Neben allgemeiner Kritik am Crossposting: Es wäre hilfreich gewesen, wenn Du die offensichtlich schon detaillierteren Erkenntnisse, die Du hattest, kundgetan hättest, anstelle hier recht allgemeingültig nachzufragen. Da wären meine Rückfragen schon im Vorfeld geklärt gewesen.
Zudem gehört es sich dann eigentlich, die Beiträge VORHER untereinander zu verlinken und nicht erst, wenn in mehreren Foren aneinander vorbei gearbeitet wurde. Auch unsere Zeit ist kostbar.

Und wenn Du doch eigentlich die Lösung schon kennst, setze sie um: Verkleinere die UF, z. B. durch Auslagerung von Code in ein allgemeines Modul bzw. testweise durch Reduzierung der Steuerelemente oder sonstigen Schnickschnack. Vielleicht hilft auch eine bedarfsweise Generierung der Steuerelemente zur Laufzeit - wäre einen Versuch wert.

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste!

Geändert von EarlFred (09.02.2018 um 14:34 Uhr).
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 15:23   #7
Storax
MOF Profi
MOF Profi
Standard

@All w.o. TO: Die einzige Antwort ist Ignorelist++

__________________

This isn't a code writing service, you need to do some research and have a go at writing some of your own code.
Be careful, content may contain traces of irony.
Storax ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 15:58   #8
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Zitat: von EarlFred Beitrag anzeigen

Neben allgemeiner Kritik am Crossposting: Es wäre hilfreich gewesen, wenn Du die offensichtlich schon detaillierteren Erkenntnisse, die Du hattest, kundgetan hättest, anstelle hier recht allgemeingültig nachzufragen. Da wären meine Rückfragen schon im Vorfeld geklärt gewesen.
Zudem gehört es sich dann eigentlich, die Beiträge VORHER untereinander zu verlinken und nicht erst, wenn in mehreren Foren aneinander vorbei gearbeitet wurde. Auch unsere Zeit ist kostbar.

Hier muss ich mich entschuldigen, ich habe das schlicht und einfach vergessen. Wie gesagt, es brennt.

Zitat: von EarlFred Beitrag anzeigen

Und wenn Du doch eigentlich die Lösung schon kennst, setze sie um: Verkleinere die UF, z. B. durch Auslagerung von Code in ein allgemeines Modul bzw. testweise durch Reduzierung der Steuerelemente oder sonstigen Schnickschnack. Vielleicht hilft auch eine bedarfsweise Generierung der Steuerelemente zur Laufzeit - wäre einen Versuch wert.

Die Lösung kenne ich, was ich aber wissen möchte ist, wie kann ich die Grösse eines Moduls in Erfahrung bringen, denn, wie gesagt, die Textgrösse scheint nicht identisch mit der Ausführungsgrösse zu sein. In meinem ersten Beitrag schrieb ich ja

Zitat:

Wenn ich die Makros der Arbeitsmappe exportiere, ist kein einziges Modul grösser als 58 KB. Wieso kommt dann doch diese Meldung?

War vielleicht nicht so klar.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:08   #9
EarlFred
MOF Guru
MOF Guru
Standard

Was ist mit dem Hinweis aus dem Herber-Forum? Link gelesen?

__________________

Datum und Uhrzeit, Makrorekorder-Code entschlacken, {Matrixformeln}
Tutorials zu Pivottabellen: Kurzeinstieg; Dynamischer Datenbereich; Daten und Zeiten gruppieren
Für 5 meiner Beiträge haben sich die Hilfesuchenden mit einer Spende an Wikipedia, die Tafeln oder Hilfe für krebskranke Kinder eV bedankt (das entspricht 0,037% per 04.04.2018) - eine tolle Geste!
EarlFred ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 16:23   #10
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Inhalt des Link im Herber-Forum:

Zitat:

Exporting the module to a text file and looking at the size of that file might give you a crude approximation of the compiled size, but I would not give it much credibility. As far as I know, the 64K limit is not publicly documented. It was revealed to an MVP by a Softie and has propagated via usenet.
Beitrag vom 31 Aug 10 20:38

, das ist eine ganze Weile her und vielleicht gibt es neue Infos.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 17:34   #11
Luschi
MOF Koryphäe
MOF Koryphäe
Standard

Hallo yogi,

ich mache Folgendes:
- Exportieren des gesamten vba-Codes auf die Festplatte.
- Löschen des Vba-Codes in der Anwendung
- Speichern der Datei ohne Vba-Code
- also ohne Forms, normale Module und alle Klassenmodule haben keinen Inhalt
- auf der HD siehst Du dann die tatsächliche Speichergröße
- für das Exportieren/Löschen/Wiedereinfügen nutze ich ein eigenes Addin
- außerdem lösche ich per Addin sämtliche Leerzeichen & Tabsprünge, die
- im Code eine schöne Struktur darstellen
- und verzichte auf die dämliche ungarische Notation, die von gewissen
- Schlaumeiern (z.B. Lorenz Hölzer/Video2Brain) immer noch propagiert wird
- und natürlich lagere ich die Wiederholungsaufgaben in mehrere normales Modul aus
- und nutze die Parameterübergabe.

Ich wundere mich nur, warum gerade der Aspekt der Kapazitätsgrenze von Modulen plötzlich in den Foren so eine wichtige Rolle spielt. Ich hoffe doch, daß Du das Treiben unter verschiedenen Accounts hier nicht verrückt machst. Meine Anwendungen haben teilweise bis zu 35.000 Programmzeilen, aber so ein Problem hatte ich noch nie!
Und dabei ist alles was so möglich ist:
- API in rauhen Mengen
- größere Treeviews mit etlichen UnterChield
- RegEx
- viele KlassenModule außerhalb der Excel-Tabellen
- u.u.u

Gruß von Luschi
aus klein-Paris

Geändert von Luschi (09.02.2018 um 17:53 Uhr).
Luschi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 18:16   #12
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Tach Luschi

Zitat:

- Exportieren des gesamten vba-Codes auf die Festplatte.
- Löschen des Vba-Codes in der Anwendung
- Speichern der Datei ohne Vba-Code
- also ohne Forms, normale Module und alle Klassenmodule haben keinen Inhalt
- auf der HD siehst Du dann die tatsächliche Speichergröße
- für das Exportieren/Löschen/Wiedereinfügen nutze ich ein eigenes Addin

mache ich auch per Makro

Zitat:

- außerdem lösche ich per Addin sämtliche Leerzeichen & Tabsprünge, die
- im Code eine schöne Struktur darstellen

Das mache ich nicht. 40 Jahre als Softy im Realtime-Bereich haben mich gelehrt, dass nur ein übersichtlicher Code von anderen lesbar ist.

Zitat:

- und verzichte auf die dämliche ungarische Notation, die von gewissen
- Schlaumeiern (z.B. Lorenz Hölzer/Video2Brain) immer noch propagiert wird

mach ich auch, benütze aber aussagekräftige Namen, z.b. "letzte_zeile" statt "lz" (siehe oben)

Zitat:

- und natürlich lagere ich die Wiederholungsaufgaben in mehrere normales Modul aus
- und nutze die Parameterübergabe.

mach ich auch.

In anderen Arbeitsmappen habe ich Module die über 64 KB gross sind und die nie Probleme machen. Wie gesagt, die Lösung habe ich. Ich möchte einfach gerne wissen, was definiert die Grösse.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 19:09   #13
Luschi
MOF Koryphäe
MOF Koryphäe
Standard

Hallo yogi II,

Zitat:

benütze aber aussagekräftige Namen, z.b. "letzte_zeile" statt "lz"

da frage ich mich doch, für wen (doch nicht für den Nachfolger). Das habe ich 2xmal durch und durfte dann um eine Abfindung kämpfen.
Ich habe da eine eigene Logik für die Benennunge von Variablen entwickelt, fern aller Puristen. Das wurde mir erst so richtig klar, als ich tiefer in die
C#-Programmierung eingestiegen bin; da ist alles Schall & Rauch, wenn der Definitionsblock beendet ist.
Das Entfernen von Leerzeichen usw. pasiert natürlich erst in der Test-/Finalversion, wenn dem Kunden das Programm übergeben wird.

Gruß von Luschi
aus klein-Paris
Luschi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 09.02.2018, 19:55   #14
yogi II
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Zitat:

da frage ich mich doch, für wen (doch nicht für den Nachfolger).

In diesem Fall doch. Das ganze ist für einen gemeinnützigen Verein, und ob da wirkliche Experten sind, ist fraglich.

Ich musste einmal ein riesiges Projekt übernehmen und da hat sich dann glasklar gezeigt, dass der Aufwand für die Einarbeitung im wesentlichen von der guten Lesbarkeit abhing. Von daher gibt es für mich keine Abstriche bei der Lesbarkeit.

Gruss
yogi
yogi II ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.