Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1212to1216
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

Arbeitsmappen, Blätter nach schließen existent

Arbeitsmappen, Blätter nach schließen existent
Björn
Hallo,
Ich habe ein Problem in einem relativ großen Excel Projekt. Ich habe eine Verwaltung von Arbeitsmappen und Blättern geschrieben und bin mittlerweile auf ein Problem gestoßen das selten auftaucht, aber doch zum Absturz des Makros führen kann.
Ich greife aus meinen Makros auf alle geöffneten Arbeitsmappen und Blätter zu und Liste diese auf, bzw. filtere bestimmte Informationen aus ihnen herraus.
Wenn ich jetzt ein Blatt lösche und mein Management aufrufe, passiert es unter umständen das dieses Blatt noch angezeigt wird. Schließe ich das Management und öffne es erneut, ist alles ok. Wenn jetzt aber das eine Blatt existiert, wird beim bestätigen versucht Daten auf einem nicht existenten Blatt zu ändern.
Das mit den Blättern passiert sehr selten, viel nerviger ist das etwas häufiger auftretende Problem mit den Arbeitsmappen.
Ich habe ein Makro geschrieben das auch neue Arbeitsmappen mit gewissen Vorlagen neu erstellt. Das funktioniert soweit ganz gut. Danach öffnet das Makro das Dateimanagement in dem alle Arbeitsmappen und ihre Blätter aufgelistet sind. In dem "Neue Datei" Makro ist ein Schutz eingebaut der erst dann das Dateimanagement öffnet, wenn wirklich die Anzahl der offenen Arbeitsmappen größer wurde. Damit funktioniert das Marko ansich ganz gut.
Jetzt kommt das kuriose. Ich habe eine offene Arbeitsmappe und schließe diese. Danach drücke ich auf Neue Datei, Danach springt der Dateimanagement Dialog auf, da sich die Anzahl der offenen Arbeitsmappen erhöht hat und die neue Arbeitsmappe auch zu sehen ist. Die Auswahl der Arbeitsmappen im Dialog aber zeigt die neue nicht an sondern die alte geschlossene Arbeitsmappe mitsamt allen Blättern.
Meine Theorie zu dem ganzen ist das Excel sich die Daten zu lange im Speicher lässt und man auf diese Daten immernoch per VBA zugriff hat. Da ich sagen wir 2 Arbeitsmappen offen habe, eine Schließe und eine erstelle, wird die neue vielleicht auf Index 3 geschoben da der Index 2 noch nicht vollständig entfernt wurde, aber die Anzahl die VBA zurückliefert ist die richtige. Dadruch kommt vielleicht die verwirrung der Dialoge.
Kennt einer das Problem oder hat einer ein Vorschlag, es wäre nervig wenn dadruch mein Dialog immermal ein Fehler auspuckt.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Arbeitsmappen, Blätter nach schließen existent
17.05.2011 19:48:37
fcs
Hallo Björn,
dein Datei-Management (programmiert unter Excel-VBA?) regiert scheinbar nicht auf das Löschen einzelner Tabellenblätter oder das Schließen einzelner Arbeitsmappen - zumindest nicht korrekt.
Sinnvoller Weise sollte sich dein Tool bei jeder Aktivierung komplett aktualisieren (alle gespeicherten Informationen löschen und neu aufbauen) . Die Tatsache, dass dein Tool nach Neustart korrekt funktioniert, deutet ja darauf hin, dass -warum auch immer- Daten bei bestimmten Aktionen nicht korrekt aktualisiert werden.
Wenn du Makroabbrüche vermeiden willst, dann muss die entsprechende Prüfungen in deine Prozeduren einbauen. Z.B. ob die Arbeitsmappen bzw. Tabellenblätter, die ein Makro bearbeiten soll, auch tatsächlich vorhanden sind. Abhängig vom Prüfergebnis kannst du dann den Makroablauf steuern.
Gruß
Franz
Anzeige
AW: Arbeitsmappen, Blätter nach schließen existent
18.05.2011 12:14:18
Björn
Die Daten die in meinen Dialog angezeigt werden, werden bei jedem Aufruf komplett aktualisiert. Warum das mit der Existenzprüfung nicht funktioniert ist das große Problem. Meine Dialoge rufen sich erst nur dann auf, wenn in der aktiven Arbeitsmappe 2 bestimmte Blätter existieren und in das eine Blatt genau nach einem definierten Standard aufgebaut ist, sowie eine Versionsnummer in diesem Blatt übereinstimmt.
Da diese ganzen Prüfungen erfolgreich durchlaufen, kann ich davon ausgehen das die Blätter existieren obwohl die Arbeitsmappe geschlossen wurde. Von daher existieren sie und eine Existenzprüfung wäre immer erfolgreich.
Der Punkt ist, wenn ein Dialog offen ist, arbeitet man in der aktiven Arbeitsmappe (welche geschlossen wurde), wenn man jetzt was ändert, kommt es zum Error da sie geschlossen ist, aber laut vba vorhanden ist.
Gruß Björn
Anzeige
AW: Arbeitsmappen, Blätter nach schließen existent
18.05.2011 18:43:15
fcs
Hallo Björn,
da ist jetzt jede Ferndiagnose pure Spekulation.
Ich hab hab zwar auch schon erlebt, dass im VBA-Projektexplorer Elemente einer geschlossenen Datei stehen, ohne die Ursache nachvollziehen zu können.
Mir ist aber noch nie aufgefallen, dass die Liste aller Workbooks oder die Liste aller Worksheets evtl. nicht korrekt ist.
Gruß und viel Erfolg bei der Fehlersuche.
Franz

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige