So beenden Sie Excel von feuern Worksheet_Change vor Workbook_BeforeSave?

Update: Problem Gelöst Ein Kollege von mir war die änderung einer Zelle während Workbook_BeforeSave() ohne deaktivieren der Ereignisse, also das auslösen Worksheet_Change(). Ja, albern, aber zumindest ist es unsere Schuld, nicht der Excel -

Habe ich bemerkt, dass wenn ich mit Strg+S in Excel, die Worksheet_Change() ausgelöst wird, bevor Workbook_BeforeSave(). Ist es möglich zu unterdrücken, die dieses Verhalten mithilfe von VBA-code, aber ohne ausblenden alle Ereignisse (d.h. ohne Application.EnableEvents = false)?

Dies geschieht unabhängig davon, was ich mache. Ich habe gelesen, über jemanden mit einem ähnlichen Problem mit ComboBoxes, aber ich bin nicht Bearbeiten ComboBoxes, noch Worksheet_Change() feuert immer vor dem speichern.

Irgendwelche Ideen? Ich versuche nur, um herauszufinden, wie man umgehen einige code, der in Worksheet_Change() wenn das Dokument gespeichert wird, da dieser code nur ausgeführt werden soll, wenn der Benutzer tatsächlich etwas ändert, auch nicht, wenn die Arbeitsmappe gespeichert wird. Sparen ist keineswegs ändern...

  • Ist das bei allen Dateien oder nur eine Arbeitsmappe? Wenn Sie eine einzelne Arbeitsmappe haben Sie keine volatilen Funktionen sein können triggerd auf den speichern in die Arbeitsmappe?
  • Nur die aktive Arbeitsmappe betroffen. Und Nein, ich habe keine volatilen Funktionen in der Arbeitsmappe.
  • Habe gerade versucht mit einem sauberen Arbeitsmappe, und dieses problem wird nicht angezeigt. Ich habe keine Ahnung, was ich falsch mache in der ersten Arbeitsmappe, aber ich arbeite daran. Werde posten, was ich finde.
  • Wenn Sie versuchen, "rebirthing" die problem-Arbeitsmappe [von (1) und wählen Sie alle Blätter mit der rechten Maustaste, Verschieben oder Kopieren und pick (neues Buch) für "zu:Buch", (2) kopieren Sie den code in der ThisWorkBook Modul problem-Arbeitsmappe über] dann funktioniert es wieder?
  • Frage geschlossen. Ein Kollege von mir war die änderung einer Zelle während Workbook_BeforeSave() ohne deaktivieren der Ereignisse, also das auslösen Worksheet_Change(). Ja, albern, aber zumindest ist es unsere Schuld, nicht Excel.
  • danke für deinen Wunsch zu helfen. Ich weiß es zu schätzen. Dein Erster Kommentar, über mögliche volatile Funktionen, war sehr clever.
  • Gut zu hören. Ich hatte vermutet, dass die Reihenfolge der code-brennen getestet worden war, gegeben " Worksheet_Change() ausgelöst wird, bevor Workbook_BeforeSave()` . All ' s well that ends well. 🙂

InformationsquelleAutor CamilB | 2012-01-11
Schreibe einen Kommentar