Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excel - Display "Speichern" friert ein

Forumthread: Excel - Display "Speichern" friert ein

Excel - Display "Speichern" friert ein
05.05.2021 23:32:41
Michael
Hallo zusammen,
ich habe einen, mir nicht erklärbaren, Umstand. Manchmal, wenn mein VBA-Makro durchläuft, dann friert das Dialogfeld Speichern ein und das Makro bleibt stehen. Manuell kann ich dann das Dialog Fenster mit dem Kreuz oben rechts schließen und das Makro läuft weiter.
Im Makro nutze ich ThisWorkbook.Save, um die Excel Datei mehrmals zwischen zu speichern. Manchmal passiert es, dass die Excel Datei zwar gespeichert wird, aber das Dialogfenster, welches bei jedem Speichern erscheint (und der blaue Balken gefüllt wird), nicht wieder verschwindet und das Makro dann stoppt, weil es auf das schließen des Fensters wartet.
Ich habe schon versucht vor jedem Speichern (Workbook.BeforeSave) folgende Applications auf true zu setzen. "ScreenUpdating"/"Calculation"/"EnableEvents"/"DisplayAlerts", doch dies scheint gar keinen Effekt zu haben. Das Problem tritt weiterhin willkürlich auf.
Ich habe auch versucht den Fehler zu reproduzieren, aber das bekomme ich nicht hin. Meine Überlegung war, dass vielleicht DisplayAlerts dafür verantwortlich ist, weil ich in meinem Code für ein paar Codezeilen erst DisplayAlerts auf false und dann wieder auf true setze.
Den kompletten Code hier zu posten würde keinen Sinn ergeben, weil ich ca. 10-15 verschiedene Module mit mehrere Subs und Private Subs aufrufe und diese hintereinander ausführen lasse. In allen nutze ich allerdings immer nur DisplayAlerts und setze diese immer wieder auf true.
Ich hoffe einfach, dass jemand schon ein ähnliches Problem hatte und mir sagen kann, welche Codezeile dazu führen könnte.
Ich hoffe mein Problem ist deutlich geworden.
Eine wunderbare Nacht
Gruß Michael
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Excel - Display "Speichern" friert ein
06.05.2021 08:18:55
ChrisL
Hi Michael
Wenn du es nicht rekonstruieren kannst, dann können wir es auch nicht ;)
Hört sich für mich nach einer Endlosschleife an z.B. Speichern löst BeforeSave aus, womit erneut gespeichert wird, womit BeforeSave erneut anspringt usw.
Damit BeforeSave bzw. andere Ereignisse nicht anspringen, müsste EnableEvents temporär auf False gestellt werden.
Vielleicht hilft es, den Ablauf mal im Einzelschrittmodus zu verfolgen d.h. Haltepunkt setzen und mit F8 einzeln durch die Codezeilen hangeln.
cu
Chris
Anzeige
AW: Excel - Display "Speichern" friert ein
06.05.2021 10:48:13
Michael
Hallo Chris,
danke für deine Antwort. Ich weiß, dass mein Problem nicht einfach ist und eventuell hier nicht gelöst werden kann, jedoch bin ich so verzweifelt, dass ich nach jedem Strohhalm greife und hoffe, dass dies hier jemand liest, der dieses Phänomen kennt.
Eine Endlosschleife schließe ich aus, weil ich den Befehl Workbook.BeforeClose nur beim testen mit reingenommen hatte. So normal im Makro befindet sich dieser Aufruf nicht.
Ein Problem ist leider, dass das Speichern mit dem identischen Makro mal funktioniert und mal nicht.
Den Einzelschrittmodus bin ich schon gefühlt 1000x durchgegangen, aber ich kann keine Programmzeile identifizieren, die bewirkt, dass sich das Dialog Fenster nicht schließen sollte. Ich habe auch die Zeile Workbook.save an mehreren unterschiedlichen Stellen eingefügt, um es vielleicht einzugrenzen, aber leider erfolglos.
Für weitere Ideen bin ich sehr dankbar!
Gruß Michael
Anzeige
AW: Excel - Display "Speichern" friert ein
06.05.2021 14:16:25
ChrisL
Hi
Solange das Problem nur sehr allgemein identifiziert werden kann, fällt leider auch die Antwort nur sehr allgemein aus z.B.
https://support.microsoft.com/de-de/office/excel-reagiert-nicht-h%C3%A4ngt-ist-eingefroren-oder-funktioniert-nicht-mehr-37e7d3c9-9e84-40bf-a805-4ca6853a1ff4
https://docs.microsoft.com/de-de/office/troubleshoot/excel/issue-when-save-excel-workbooks?tabs=third-party
cu
Chris
Anzeige
;
Anzeige

Infobox / Tutorial

Excel: Wenn das "Speichern"-Dialogfeld einfriert


Schritt-für-Schritt-Anleitung

  1. Problem identifizieren: Achte darauf, wann genau das Dialogfeld "Speichern" einfriert. Tritt das Problem nach spezifischen Aktionen oder unter bestimmten Bedingungen auf?

  2. Makro überprüfen: Gehe den VBA-Code durch und suche nach möglichen Endlosschleifen. Ein häufiger Grund, warum Excel einfriert, ist, wenn das BeforeSave-Ereignis wiederholt ausgelöst wird.

  3. Events deaktivieren: Setze Application.EnableEvents = False vor dem Speichern. Dies verhindert, dass das BeforeSave-Ereignis erneut ausgelöst wird, während dein Makro läuft.

  4. Einzelschrittmodus verwenden: Setze Haltepunkte in deinem VBA-Code und gehe schrittweise durch die Ausführung mit F8, um das Problem genauer zu lokalisieren.

  5. Speichern optimieren: Setze Application.DisplayAlerts = False vor dem Speichern und wieder auf True danach, um unerwünschte Dialoge zu vermeiden.

  6. Testen: Führe dein Makro mehrmals aus, um zu prüfen, ob das Problem weiterhin besteht. Achte darauf, ob Excel immer wieder einfriert.


Häufige Fehler und Lösungen

  • Fehler: Dialogfeld bleibt offen: Wenn das Dialogfeld "Speichern" nicht schließt, könnte dies an einer Endlosschleife im Makro liegen. Stelle sicher, dass du EnableEvents entsprechend einstellst.

  • Lösung: Setze Application.EnableEvents = False um unerwünschte Ereignisse während des Speichervorgangs zu vermeiden.

  • Fehler: Makro läuft nicht weiter: Wenn das Makro stoppt, weil es auf das Schließen des Dialogfelds wartet, vergewissere dich, dass du alle notwendigen Anweisungen korrekt gesetzt hast.


Alternative Methoden

  • Direktes Speichern: Anstelle von ThisWorkbook.Save, probiere ActiveWorkbook.Save oder ThisWorkbook.SaveCopyAs für spezifische Zwecke.

  • Automatisierte Backups: Erstelle ein Backup der Datei, bevor du große Änderungen vornimmst, um potenzielle Datenverluste zu vermeiden.

  • VBA-Debugging: Nutze die Debug.Print-Anweisung, um den Status deines Makros in der Immediate-Fenster von VBA anzuzeigen, und um festzustellen, wo das Problem liegt.


Praktische Beispiele

Sub SpeichernMitFehlerbehebung()
    On Error GoTo Fehlerbehandlung
    Application.EnableEvents = False
    Application.DisplayAlerts = False
    ' Speichervorgang
    ThisWorkbook.Save
    Exit Sub
Fehlerbehandlung:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
    Application.EnableEvents = True
    Application.DisplayAlerts = True
End Sub

Tipps für Profis

  • Regelmäßige Updates: Halte deine Excel-Version aktuell, um sicherzustellen, dass du die neuesten Fehlerbehebungen und Funktionen verwendest.

  • Code-Dokumentation: Kommentiere deinen VBA-Code gründlich, um den Überblick über komplexe Abläufe zu behalten.

  • Backup-Strategien: Implementiere Automatisierungen, die regelmäßig Backups deiner Arbeitsmappen erstellen, um Datenverluste zu vermeiden, falls Excel einfriert.


FAQ: Häufige Fragen

1. Was kann ich tun, wenn Excel immer wieder einfriert?
Überprüfe deinen VBA-Code auf Endlosschleifen und setze Application.EnableEvents auf False, um unerwünschte Ereignisse während des Speicherns zu verhindern.

2. Warum bleibt das "Speichern"-Dialogfeld manchmal offen?
Das Dialogfeld könnte offen bleiben, wenn das BeforeSave-Ereignis erneut ausgelöst wird. Deaktiviere Events temporär, um dies zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige