Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1220to1224
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
Nicht genügend Speicher vorhanden?
Gordon
Moin moin,
ich bekomme bei ein VBA-Projekt seit eben immer eine Fehlermeldung, sobald ich das Makro ausführe:
Laufzeitfehler '440'
Eigenschaft ListCursor konnte nicht gesetzt werden.  Für diesen Vorgang ist nicht genügend Speicher vorhanden.
Wenn ich auf 'Debuggen' gehe zeigt er mir eine Code Zeile an, wo ich gerade eine Listbox mit ListFillRange befülle. Dieses ging aber bisher immer. Jetzt bin ich etwas ratlos, woran der Fehler liegen mag. Vielleicht kann mir jemand da helfen?
Danke schon mal für die Hilfe.
Gruß
Gordon
zeigt er mir eine Code Zeile an: Glaskugel. owT
26.07.2011 23:39:59
D.Saster
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
26.07.2011 23:46:07
Gordon
ok,
sorry....hier der Code um die Daten in der Listbox anzuzeigen:
Sub Einträge_anzeigen()
Dim anzEinträge As Integer
With ThisWorkbook.Sheets("DB_Eintrag")
anzEinträge = Application.CountA(.Columns(1))
If anzEinträge  .ListFillRange = "DB_Eintrag!A2:E" & anzEinträge
End With
End Sub
Der Debugger markiert die Zeile mit der ListFillRange.
Gruß
Gordon
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 10:20:00
fcs
Hallo Gordon,
Listboxen ansich haben eher unbekannte Grenzen für ihre Kapazität.
Es kann also durchaus sein, dass irgend ein Grenzwert von Excel (und da gibt es viele) für Datenbereiche, Anzahlfenster, Anzahl Shapes , oder sonst irgend etwas durch das Hinzufügen der Listenelemente überschritten wird. Siehe auch hier: http://www.xlam.ch/xlimits/index.htm
Wie viele Einträge mussen denn in der 5-spaltigen Listbox angezeigt werden?
Wie viele Steuerelemente oder andere Grafikelemente hast du insgesamt auf deinem Tabellenblatt?
Tritt dieser Fehler auch auf, wenn du direkt nach dem Starten von Windows und Excel die Datei öffnest und das Makro startest?
Hast du gleichzeitig sehr viele Excel-Datei oder andere Programme geöffnet?
Ich kann ohne Probleme die Daten einer einzelnen 5-spaltigen Listbox mit mehr als 5000 Zeilen mit deinem Makro darstellen.
Gruß
Franz
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 11:09:17
Gordon
Moin,
eigentlich befindet sich nicht soviel direkt auf dem Blatt:
Drei Button und die ListBox
Die ListBox hat zum Start des Makros 8 Einträge, wobei nach dem Makro nur noch 7 vorhanden. Das soll auch so sein, weil bevor der Code ausgeführt wird, ein Element gelöscht wird. Kann es damit zusammenhängen, dass dort vielleicht schon Daten vorher drin standen?
Der Fehler taucht leider auch auf, wenn ich Windows/Excel frisch starte.
Zur Mappe ist noch zu sagen, dass es ein Userform gibt, dass zum Zeitpunkt der Ausführung unsichtbar ist.
Das Userform an sich hat folgende Elemente:
4 Frames, 10 Labels, 5 Button, 5 Textfelder, 1 Listbox, 4 DTPicker, 7 Checkboxen
Gruß
Gordon
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 15:32:11
fcs
Hallo Gordon,
das Userform und die Anzahl an Elementen kann eigentlich nicht die Ursache sein.
Welcher Wert wird im Debugmodus denn für die Variable anzEinträge angezeigt?
Das müssten dan ja 7 sein.
Evtl. stimmt da ja irgendetwas nicht.
Ansonsten, müßtesst du die Datei ggf. mal mit anonymisierten Daten hier hochladen.
Gruß
Franz
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 15:49:13
Gordon
Ja,
anzEinträge hat den Wert 7. Habe jetzt noch mal geschaut. Das Problem tritt ja auf, wenn ich einen Eintrag lösche, aso den Button für's Löschen klicke. Wenn ich die anderen Button die da habe zu erst ausführe, kommt keine Fehlermeldung und vorallem lässt sich danach der Löschen-Button auch ausführen. Erst nach mehrmaligen Löschen kommt dann erst wieder die Fehlermeldung. :-(
Gruß
Gordon
PS: Die Datei liegt nun hier: https://www.herber.de/bbs/user/75904.xlsm
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 22:26:21
fcs
Hallo Gorden,
was da genau schief läuft konnte ich nicht genau feststellen.
Bei mir unter Windows Vister . Excel2007 gab es auch Probleme mit Verweisen im VBA-Projek, hier speziell mit dem Verweis auf die Webcomponents. Ich hab den Verweis dann deaktiviert.
Nicht explizit deklarierte Variablen bereiteten auch Kummer.
Ich hab noch folgendes angepasst. Dann kamen zumindest keine Fehler mehr. Ob das bei dir dann auch so ist ?
Code im Modul1: 2 Zeilen angepasst.
https://www.herber.de/bbs/user/75910.txt
Unter "DieseArbeitsmappe" hab ich folgendes ergänzt, damit die Listbox-Auswahlliste beim Öffnen der Datei immer aktualisiert wird:
Private Sub Workbook_Open()
Call Einträge_anzeigen
End Sub

Gruß
Franz
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
27.07.2011 23:05:02
Gordon
Moin,
erstmal danke für die Verbesserungen. Habe ich natürlich gleich eingefügt. Leider kommt der Fehler immer noch. :-(
Was meinst du aber genau mit dem deaktivieren von den Verweisen auf Webcomponents?
Gruß
Gordon
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
28.07.2011 05:23:15
fcs
Hallo Gordon,
im VBA-Editor gibt es das Menü Extras -- Verweise
Dort kann man ankreuzen welche Objektbibliotheken für das VBA-Projekt zur Verfügung stehen sollen.
Ein paar sind immer erforderlich (die die Excel und VBA zwingend benötigen) andere kann man hinzuwählen, wenn man zum Beispiel via Excel auf Word oder Powerpoint zugreifen möchte.
Hier konnte meine Excel 2007er VBA-Version eine Komponente in deiner Datei nicht finden.
Ich weiss nicht welche Funktionalitäten "Microsoft Webcomponents" zur Verfügung stellt. Du muss diese Bibliothek ggf. wieder aktivieren.
Hier deine Datei, wie sie bei mir unter Windows Vista + Office/Excel 2007 einigermassen rund läuft.
https://www.herber.de/bbs/user/75911.xlsm
Gruß
Franz
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
28.07.2011 08:36:06
Gordon
OK,
bin jetzt leider am Arbeitsrechner, wo die Dateio eh nicht funktioniert, weil sich hier der DTPicker nicht installieren lässt - weiß der Geier warum! :-(
Und unter Verweise finde ich leider keinen Eintrag 'Microsoft Webcomponents'. :-(
Nur mal so nebenbei:
Zu Hause benutze ich WinXP + Office 2010 (32-Bit)
Auf der Arbeit: Win7 + Office 2010 (64-Bit)
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
28.07.2011 18:25:05
Gordon
Ich habe den Fehler, glaube ich, gefunden!
Und zwar ist mir aufgefallen, dass die Fehlermeldung nur kommt, wenn ich die letzte Zeile in der Listbox lösche.
Anscheinend spielt es sich so ab, dass die letzte Zeile markiert ist, der Eintrag gelöscht wird und dann die Listbox ja neu befüllt wird. Und zwar nun mit einem Datensatz weniger. Da aber die letzte Zeile noch selektiert ist, hat er damit ein Problem, wenn man ihm den Eintrag 'unter den Füßen' wegzieht!
Ich habe es jetzt erstmal so geregelt, dass bevor die ListBox neu befüllt wird, der erste Eintrag in der ListBox selektiert wird. So ging es dann auch. Was das nun mit Speicher zu tun haben soll weiß ich nicht, aber auch egal. Zumindest scheint es erstmal gelöst.
Mal aber noch eine Frage anbei:
Ich selektiere ja nun immer die erste Zeile mit ".Selected(0) = True" an. Gibt es auch einen Befehl, womit man die gesamte Listbox deselektieren kann?
Gruß
Gordon
Anzeige
AW: zeigt er mir eine Code Zeile an: Glaskugel. owT
28.07.2011 22:07:34
fcs
Hallo Gorden,
ja, manchmal stößt man schon auf merkwürde Phänomäne, die man nicht so ohne weiters nachvollziehen kann.
Ich selektiere ja nun immer die erste Zeile mit ".Selected(0) = True" an. Gibt es auch einen Befehl, womit man die gesamte Listbox deselektieren kann?
Da deine Listbox nicht auf Multiselection eingerichtet ist geht:

.ListIndex=-1 

Gruß
Franz

57 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige