Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
992to996
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
992to996
992to996
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Speicher zu klein für große Userform
Werner
Hallo liebe Forumsmitglieder,
seit neuestem erhalte ich, wenn ich eine ziemlich große Userform starten will (in nichtdeutschem Excel), immer die Meldung, der Speicher reiche nicht aus.
Obwohl ich daraufhin den Arbeitsspeicher meines Computers von 256 B auf 1025 MB habe erweitern
lassen, kommt die Fehlermeldung trotzdem hartnäckig immer wieder.
Und das, obwohl ich auch den virtuellen Arbeitsspeicher (Pager Datei) erweitert habe (neuer Mindestwert:
1536 K, neuer Maximalwert: 3000 K, also recht üppig).
Die Excel-Datei, bei der diese Meldung auftritt, ist ca. 4,5 MB groß.
Eine Utility, Free Memory, zeigt mir als frei verfügbaren Arbeitsspeicher 678 M an.
Die genannte Excel-Meldung erwähnt auch eine 64 K-Grenze, zu der mir aber nichts weiteres bekannt ist.
Obwohl also offensichtlich sowohl der normale als auch der virtuelle Arbeitsspeicher groß genug gewählt
sind, kommt die gleiche Fehlermeldung immer wieder.
Woran kann das liegen. Kann mir jemand hier weiterhelfen? Herzlichen Dank!! Werner R.

AW: Speicher zu klein für große Userform
11.07.2008 08:27:57
Paddy
Hallo!
Wäre hilfreich "recht große Userform" zu defenieren... Wieviele Steuerelemente sind enthalten. Da gibt es nämlich ein Limit...
Grüße
Paddy

Wie hoch etwa ist das Limit?
11.07.2008 08:44:11
Werner
Hallo Paddy,
Dank für den Hinweis!
Es handelt sich um eine Multipages-Userform mit 14 Reitern. Enthalten sind darauf insgesamt vielleicht 400 bis 500 Steuerelemente, die meisten in einem der Reiter mit 60 "Datensaetzen" zu je 7 Textboxen, d.h.
300 Textboxen sowie einige sonstige Steuerelemente.
Wie hoch liegt denn das Limit pro Userform bzw. pro Reiter einer Userform? Bin ich schon drüber?
Werner R.

Anzeige
AW: Speicher zu klein für große Userform
11.07.2008 08:51:00
Herby
Hallo Werner,
vielleicht hilft dir dieser Link weiter:
http://xlam.ch/xlimits/index.htm
Viele Grüße
Herby

Dank, aber komme nicht weiter
11.07.2008 09:15:00
Werner
Hallo Herby,
diese Website war mir bekannt, trotzdem vielen Dank!
Dort habe ich schon nachgeschaut. Es heißt dort, pro Arbeitsblatt/Arbeitsmappe seien mindestens
10.000 Formularsteuerelemente bzw. mindestens 1.200 Toolbox-Steuerelemente zulässig.
Damit komme ich aber nicht weiter, weil meine Userform doch offenbar unterhalb dieser Grenzen
liegt, und trotzdem tritt immer die Meldung, der Speicherplatz reiche nicht aus, auf. Werner R.

Anzeige
AW: Dank, aber komme nicht weiter
11.07.2008 09:25:00
Hajo_Zi
Hallo Werner,
vielleicht trifft bei Dir der andere Fall zu 64 K. Vielleicht solltest Du Deinen Code optimieren oder teile in ein Modul auslagern?

Userform verträgt offenbar nicht so viel
11.07.2008 09:45:00
Werner
Hallo Hajo_Zi,
Besten Dank für deine Hinweise!
Den Code bin ich schon mit der Software "Code Cleaner" durchgegangen. Der Schrott dürfte also
aus dem Code beseitigt sein.
Mit dem Auslagern von Code in ein Addin habe ich bisher keine so guten Erfahrungen gemacht (
die Zweckmäßigkeit solchen Vorgehens war vor einigen Wochen in diesem Forum in einem Thread diskutiert worden)
Die Userform hatte ich, bevor die beschriebene Meldung über Speichermangel auftrat, um zahlreiche Textfelder erweitert. Da liegt es nahe, anzunehmen, dass das Problem irgendwie mit der Userform als solcher zusammenhängt.
Vor einigen Wochen war ich, nach Anregungen durch Rudi Maintaire, zu dem Ergebnis gekommen, Code
und Daten in einer einzigen Datei zu halten.
Dieses Problem ist wieder eines, das einem schlaflose Nächte bereiten kann, weil offenbar schwer
festzustellen ist, wieviele Steuerelemente so eine Userform verträgt.
Die sogenannte 64 K-Limitation verstehe ich überhaupt nicht. Was bedeutet das?
Werner R.

Anzeige
AW: Userform verträgt offenbar nicht so viel
11.07.2008 09:58:00
Hajo_Zi
Hallo Werner,
lese meinen Beitrag nochmal, von Add In steht da nichts.
64 K bedeutet eben Größe des Codes.
Mit Cleaner optimierst Du den Code nicht.
Vielleicht solltest Du üerlegen Steuerelemente zusammenzufassen um damit den Code kleiner zu machen.
http://hajo-excel.de/chCounter3/getfile.php?id=112
Gruß Hajo

Der letzte Ausweg...
11.07.2008 10:20:22
Werner
Hallo Hajo_Zi,
Dank für die Anregungen!!
Wenn man viel Code schreibt, kommt man sofort über 64 K. Bezieht sich diese Angabe auf ein einziges Modul, d.h. darf der Code für ein Modul nicht über 64 K liegen?
Code optimieren bedeutet, wenn es nicht Code reinigen besagt, offenbar so viel wie den Code umschrei-
ben und dadurch verkürzen?!
Du sprichst vom "Zusammenfassen" von Steuerelementen, um den Code kleiner zu machen. Das ist
natürlich eine Möglichkeit, aber eben ein Eingeständnis, dass die Steuerelement-Limitation bei der
Userform erreicht ist. Laut der mir in diesem Thread genannten Website xlam... sind die Limitationen
von Userforms nicht so gut erforscht. Es hat wohl nicht viel Sinn, wenn ich Gruppen von Textfeldern mit
einem Rahmen umgebe, oder doch? (Der letzte Ausweg ist wohl der, so lange Textfelder aus der Userform zu entfernen, bis die Fehlermeldung verschwindet, nach dem Trial-and-Error-Prinzip)
Von Addins hattest du in der Tat nicht gesprochen. Dann läuft dein Vorschlag also darauf hinaus, Teile
des Codes in eine zweite Datei auszulagern. Man kann auch (so ein Vorschlag von Matthias G kürzlich)
Code und Daten trennen und dann die Datei mit den Daten bei Aufrufen der Datei mit dem Code automatisch dazuladen lassen. Das Problem ist auch hier: Code und Daten zusammen oder getrennt.
Wenn Excel nicht mehr mitspielen will, kommt es, wie hier, zu einem durchaus vielschichtigen Problem.
Werner R.

Anzeige
AW: Der letzte Ausweg...
11.07.2008 10:25:00
Hajo_Zi
Hallo Werner,
ja das betrifft jedes Modul je 64 K.
Code bereinigen ist nur es werden alle gemerkten Codeteile und Variablen gelöscht, also alles in eine neue Datei.
Das verstehe ich nicht:
"Du sprichst vom "Zusammenfassen" von Steuerelementen, um den Code kleiner zu machen. Das ist
natürlich eine Möglichkeit, aber eben ein Eingeständnis, dass die Steuerelement-Limitation bei der
Userform erreicht ist."
Ich habe nichts davon geschrieben von zusätzlichen Steuerelementen bzw. weniger. Bei gleicher Anzahl.
Ich habe auch nichts geschrieben von auslagern in eine zweite Datei es Stand nur Modul.
Die Trennung von Daten und Programm, da gibt es umfangreiche Disskussionen hier im Forum. Ich stehe auch auf der Seite von Matthias.
Gruß Hajo

Anzeige
Es dämmert mir allmählich...
11.07.2008 10:50:00
Werner
Hallo Hajo_Zi,
ich glaube, jetzt habe ich zumindest einen wichtigen Punkt verstanden: Man sollte in ein einziges
Modul nicht zu viel Code hineinpacken, sondern lieber zwei kleine Module statt einem großen
wählen.
Was ich noch vergessen hatte zu erwähnen, ist, dass der beschriebene Fehler immer bei der "Userform1.Show"-Anweisung auftritt.
"Codeoptimierung" bedeutet offenbar, den ganzen Code in eine neue Datei umzupacken. Wohl
durch Exportieren der Codemodule aus der Datei und dann Reimportieren in eine neue, leere Datei?!
Die Sheets müssen dann mit der Kopierfunktion in die neue Datei kopiert werden!?
Wenn die Steuerelemente bei gleicher Anzahl "zusammengefasst" werden sollen, dann offenbar doch
in einem Rahmen (du hattest nicht von einem Rahmen gesprochen, doch wie sonst soll man sie
"zusammenfassen"?) Wird ein Code denn kleiner, wenn man um Textboxen einen Rahmen legt?
Zur Frage der Trennung von Daten und Programmen mache ich mich noch mal im Forum kundig. Mir als
von der Anwenderseite kommenden Gelegenheitsprogrammierer ist aber inzwischen klar, dass gerade
in diesem Punkt die Meinungen unter den Fachleuten geteilt sind (manchmal probiert man einfach mal
herum, was am besten geht).
Jetzt habe ich deine Geduld aber schon sehr beansprucht, bitte um Nachsicht. Ich finde diese Diskussion
sehr anregend und hoffe, dass auch andere davon mitprofitieren werden!! Nochmals vielen Dank!
Werner R.

Anzeige
AW: Es dämmert mir allmählich...
11.07.2008 10:54:00
Hajo_Zi
Hallo Werner,
zum Zusammenfasen hatte ich die Datei angehängt, die ist für Leute mit VBA Gut. In der Datei werden die change Ereignisse einiger Textboxen zusammengefast. Damit war kein Rahmen gemeint.
Gruß Hajo

Noch ein letzter Punkt ist unklar
11.07.2008 11:10:00
Werner
Hallo Hajo_Zi,
deine Datei konnte ich noch nicht prüfen, da ich Excel auf einem anderen Computer installiert habe. Bitte
um Entschuldigung. (Meine Excel-Kenntniss sind mittelgut, wie ich in vielen Threads immer wieder
angegeben habe. Manchmal vergesse ich allerdings, diese Angabe zu wiederholen. Herbers "bescheiden"
und "gut" treffen beide nicht zu, doch ohne diese Angabe kann man keinen Thread beginnen)
Wäre dir überaus dankbar, wenn du noch zu dem letzten mir unklaren Punkt "Codeoptimierung"
ein paar Worte sagen könntest (wie ich diesen Ausdruck interpretiere, hatte ich in meinem letzten
Thread-Beitrag vor einigen Minuten geschrieben). Herzl. Dank! Werner R.

Anzeige
AW: Noch ein letzter Punkt ist unklar
11.07.2008 11:17:00
Hajo_Zi
Hallo Werner,
das mit der neuien Datei hast Du korrekt gesehen. Hans hatte früher in seinem Downloadbereich ein Add In das dies alles erledigte. Das benutze ich dafür.
Gruß Hajo

Fazit
11.07.2008 11:24:57
Werner
Hallo Hajo_Zi,
jetzt machst du mich neugierig. Ich weiß nicht wer Hans ist und wo sich sein Downloadbereich
befindet.
Natürlich geht das ganze auch, z.B. für den Code, mit einer Prozedur zum Exportieren, wie sie im
Microsoft-Lehrbuch f. Excel 2003 steht.
Doch ich habe Verständnis dafür, wenn du das von dir erwähnte Addin nicht einfach weitergeben
kannst, weil es ja von einem Dritten stammt.
Fazit: Ich versuche mal, meine Datei wie besprochen zu bearbeiten, mal sehen was herauskommt.
Werner R.

Anzeige
AW: Fazit
11.07.2008 13:16:18
Hajo_Zi
Hallo Werner,
Hans ist der Betreiber des Forums.
Gruß Hajo

AW: Fazit
16.07.2008 03:39:49
Werner
Hallo Hajo_Zi,
hätte ich eigentlich wissen müssen, aber man ist so an den Namen "Herber-Forum" gewöhnt, dass man
seinen Vornamen fast vergessen hat. Werner R.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige