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

Abstürze bis zur Verzweiflung

Abstürze bis zur Verzweiflung
24.06.2020 15:28:18
Steve

Moin Leute,
ich habe, nicht zuletzt mit eurer großartigen Hilfe, meine Datei nun fertig gestellt.
Aber irgendwie stürzt die ständig ab ohne das sich ein Muster abzeichnet.
Der Absturz sieht dabei immer wie folgt aus: Das Fenster schließt sich und es öffnet sich eine neue Excel Datei.
Auftreten 1:
Wenn ich einen neuen Eintrag (Button NEU / Modul ERSTELLEN) generiere, dann bekomme ich den beschriebenen Absturz. Das kann schon beim ersten Eintrag, aber auch nach dem fünften Eintrag hintereinander sein.
Ich habe mittlerweile einen Speicherbefehl mit eingebaut bevor das Makro startet, damit nicht zu viele Daten verloren gehen.
Der Absturz ist immer nach Eingabe bzw. Bestätigung der ersten Eingabe.
Auftreten 2:
Genauso das Problem wenn ich mehrere Einträge hintereinander lösche. (Button LÖSCHEN (im entsprechenden Sheet) / Modul LÖSCHEN)
Auch hier tritt das Problem nicht immer auf.
Ich habe beide Makros Schritt für Schritt ausgeführt und nie eine Fehlermeldung erhalten.
Ich habe geschaut ob irgendwo eine Fehlermeldung unterdrückt wird, (was meines wissens trotzdem nicht zu einem Absturz führen dürfte)
Ich habe versucht den Code nach meinen Kenntnissen ein wenig aufzuräumen.
Aber nun bin ich mit meinem Latein am Ende.
Hat jemand eine Idee oder kann mir einen Tipp geben? Ich kann das ja nicht so lassen.
Liebe Grüße und ein großes Danke schon vorweg.
Steve
Meine Datei hänge ich mal an und hoffe jemand kann mir hier helfen.
https://www.herber.de/bbs/user/138532.zip

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Abstürze bis zur Verzweiflung
24.06.2020 17:55:47
ralf_b
naja, ziemlich viel Gedöns passiert da.
ChDir "C:\Users\Computer\Desktop" -hardgecodete Pfade sind nicht gut wenn jemand anders deinen Code testen soll. Vielleicht nutzt du z.b. sowas Environ("HOMEDRIVE") http://www.office-loesung.de/ftopic46029_0_0_asc.php
mir ist aufgefallen das du viele Namen im Namensmanager hast. Teilweise gleichlautende wo einer sich auf die Mappe und einer sich auf ein Blatt bezieht. Möglicherweise auch problematisch.
nimm mal das "on error" raus. Und schau ob dann vorm Absturz ein Fehler angezeigt wird.
Wenn die Fehler tatsächlich nicht zu lokalisieren sind, dann stünde dann noch ein Festplattendefekt zur Disskussion. Hast du das Progrämmchen mal auf nem anderen Rechner ausprobiert?
Anzeige
AW: Abstürze bis zur Verzweiflung
25.06.2020 14:01:12
Steve
Moin Ralf,
vielen Dank für den Hinweis. Ich habe mir deinen Link schon einmal angeschaut. Wenn ich das richtig gesehen habe, dann ist das ein Überblick darüber wie man die diversen Systeminformationen auslesen kann. Ich könnte also hiermit:
MsgBox "Standardlaufwerk des Benutzers: ----> " & (Environ("HOMEDRIVE")) '
das Standardlaufwerk des Benutzers ansprechen wenn der eingestellte Pfad nicht gefunden wird.
Eigentlich sollte es so sein, das sich bei der ersten Benutzung der Explorer öffnet, man den Pfad der Austausch-Datei raussucht, verwendet und der letztgewählte Pfad gespeichert wird.
Sollte dieser beim nächsten mal nicht gefunden werden, dann soll sich der Explorer möglichst an einer Stelle öffnen die unverfänglich ist. Dachte <b>"C:\Users\Computer\Desktop"</b> ist unverfänglich genug.
War wohl ein Trugschluss.
Sehe ich das richtig, das die Suche nach dem Standardlaufwerk eine gute Idee ist damit sich der Explorer in jedem Fall öffnet wenn der zuletzt gespeicherte Pfad nicht gefunden wird?
______________________________________________________________________________________
J,a die Namen im Namensmanager. Ich hab die Namen und Tabellen in neueren Dateien immer mit <b>N_</b> und <b>T_</b> getrennt. Wäre es besser diese noch eindeutiger zu trennen oder meinst du die Menge an verwendeten Namen könnten schon ein Problem darstellen?
Die Verwendung von Namen statt fixen Ranges fand ich immer sehr gut, weil dann der eigentliche User fast das ganze Layout verändern kann ohne das es Probleme mit dem code gibt.
______________________________________________________________________________________
Das verflixte On Error. Dachte ich habe alle weggemacht. Das werde ich gleich mal ausprobieren.
______________________________________________________________________________________
Defekt schließe ich mal aus, da ich den Fehler an anderen Rechnern schon reproduzieren konnte.
Ich danke dir für deine Anregungen und Hilfe. Ich werde mal schauen ob ich das Programm vielleicht noch was aufräumen kann.
Libe Grüße
Steve
Anzeige
AW: Abstürze bis zur Verzweiflung
24.06.2020 18:02:55
Luschi
Hallo Steve,
habe die besagten Routinen bis zu 20x ausgeführt und es kam zu keinem erkennbaren Fehler.
Allerdings konnte ich auf verschiedenen PC's mit unterschiedlichen Excel-Versionen feststellen,
daß Umlaute (ä ö ü ß) in Prozedur- und Modulnamen zu Abstürzen führen können. Vba spricht nun mal
us-english - und da gibt es diese Umlaute nicht. Ich benutze dafür ae, oe, ue, sz.
Hier nun noch 2 Hinweise:
Wegen Regelverstoß gelöscht - Hans W. Herber
AW: Abstürze bis zur Verzweiflung
25.06.2020 15:10:40
Steve
Moin Luschi,
ich wäre nie auf die Idee gekommen, das es in den auskommentieren Texten ein Problem sein kann die Umlaute zu verwenden. Ich hab das direkt mal Sicherheitshalber geändert.
Habe ein wenig nachgelesen was DoEvents macht. Verstehe ich das richtig? Der Code wird so lange durchlaufen, bis die an das System übergebene Aufgabe (hier das erstellen und löschen der Ordnerabgearbeitet ist. Erst dann wird der Rest des Codes verarbeitet?) Dabei wird an den Code eine Zahl übergeben und die Schleife bei 0 beendet?
Das On Error....ich hab es rausgenommen. Weiss überhaupt nicht warum es drin war.
Vielen Dank für deine Hilfe und hoffe ich habe alles verstanden.
Liebe Grüße
Ps.: Wäre es nicht auch sinnvoll das DOEVENTS auch vor dem Speicherbefehl einzuführen?
Steve
Anzeige
AW: Abstürze bis zur Verzweiflung
26.06.2020 05:27:05
Luschi
Hallo Holger,
Wenn Excel-Vba ackert wie ein Pferd und dabei Aufgaben startet, die von Windows selbst aber ausgeführt werden müssen:
- Dateipfade anlegen
- Dateien/Pfade löschen
- usw.
Dann ist es sinnvoll, die Ausführung dieser Kommandos zu überwachen. Da Windows eine Hierarchie-Rangfolge bei der Abarbeitung solcher von Anwenderprogrammen angestoßenen Programme hat, kann es sein, daß Windows zum Anlegen des Pfades noch keine Zeit hatte, Vba aber bereits auf den Pfad zugreifen will.
DoEvents ist nur ein Hinweis an Windows, nun mach doch mal, kann aber Windows nicht dazu zwingen!, sondern stellt seine eigentliche Rechenzeit Windows zur Verfügung.
Deshalb die Do Loop-Schleife drum rum, damit Vba sich solange in der Schleife im Kreis dreht, bis das gewünschte Verzeichnis erstellt ist.
Je mehr Anwenderprogramme gleichzeitig geöffnet sind und Anforderungen an Windows stellen, desto länger muß Dein Vba-Progrämmchen warten - Vba ist aber auf warten nicht eingestellt, deshalb diese Zwangsschleife.
Gruß von Luschi
aus klein-Paris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige