Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Speichern bei manuellen Änderungen

Forumthread: Speichern bei manuellen Änderungen

Speichern bei manuellen Änderungen
01.10.2002 10:40:16
Winni
Hallo,
im Moment knabbere ich an folgendem Problem und komme nicht weiter:
Ich habe ein Formular in dem verschiedene Daten analysiert werden. Tabellenblatt1 dient der Eingabe, ein paar weitere der Darstellung der ausgewerteten Informationen. Daten können vom Anwender nur in TB1 eingegeben/geändert werden.
Desweiteren blende ich - um für die Auswertung benötigte Makros zu erzwingen - nach öffnen der Datei ein Tabellenblatt mit Hinweisen(Makros aktivieren) aus und die anderen Blätter ein (d.h. bei deaktivierten Makros erscheint nur das Tabellenblatt mit dem Hinweis).
Soweit funktioniert alles auch wunderbar. Mein Problem kommt erst beim Schliessen der Datei: selbst wenn keine Daten eingeben/geändert werden, erscheint (durch das Ein-/Ausblenden) der "Wollen Sie speichern... blablabla" - Dialog.
Den hätte ich gerne nur in Fall, daß tatsächlich Eingaben getätigt wurden. Fällt jemanden dazu ein Lösungsansatz ein?

mfg.
winni

Anzeige

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

Betreff
Datum
Anwender
Anzeige
Re: Speichern bei manuellen Änderungen
01.10.2002 10:49:39
richard
morgen winni

ich befürchte du hats da einen denkfehler. excel stellt diese frage immer, wenn eine änderung ausgelöst wurde. soweit ich weiß löst ein workbook_open makro so eine änderung aus. du kannsz excel natürlich erzählen, es soll keine meldung anzeigen (displayalerts) oder du sagst, die mappe ist im aktuellen zustand schon gespeichert (me.saved = true).
wie aber soll excel wissen, welche änderung gespeichert werden soll und welche nicht?
neben der möglichkeit, die meldung abzuschalten, oder gespeichert-status zu simulieren, kannst du auch einfach nach jedem schließen automatisch speicher (workbook.save)

mfg richi

Anzeige
Re: Speichern bei manuellen Änderungen
01.10.2002 10:52:18
th.heinrich
hallo Winni,

folgendes aus der RECHERCHE.

folgender Befehl schliesst ohne zu speichern:
Workbooks("Test.xls").Close SaveChanges:=False
Mit Speichern:
Workbooks("Test.xls").Close SaveChanges:=True

von hans

gruss thomas

Re: Speichern bei manuellen Änderungen
01.10.2002 10:53:21
Andreas S
Hallo,

versuch mal am Ende des Einblenden/Ausblenden-Makros
die Anweisung:

Gruss
Andreas

Anzeige
;
Anzeige

Infobox / Tutorial

Speichern bei manuellen Änderungen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und gehe zum Visual Basic for Applications (VBA) Editor mit ALT + F11.

  2. Füge ein neues Modul hinzu: Rechtsklick auf "VBAProject (deine Datei)" > Einfügen > Modul.

  3. Füge das folgende Code-Snippet ein, um das Speichern beim Schließen der Datei zu steuern:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        If ThisWorkbook.Saved = False Then
            If MsgBox("Möchtest du Änderungen speichern?", vbYesNo) = vbYes Then
                ThisWorkbook.Save
            End If
        End If
    End Sub
  4. Speichere die Änderungen im VBA-Editor und schließe ihn.

  5. Teste das Skript, indem du deine Datei schließt und überprüfst, ob Excel nach Änderungen fragt.


Häufige Fehler und Lösungen

  • Excel speichert Änderungen nicht: Wenn Excel dir beim Schließen nicht die Möglichkeit gibt, Änderungen zu speichern, überprüfe, ob dein VBA-Code korrekt implementiert ist. Möglicherweise wird die ThisWorkbook.Saved = True-Anweisung nicht ordnungsgemäß verwendet.
  • Prompt erscheint trotz keiner Änderungen: Dies kann passieren, wenn das Workbook_Open-Makro eine Änderung im Workbook auslöst. Du kannst dies umgehen, indem du Application.DisplayAlerts = False am Anfang des Makros hinzufügst und die Alerts am Ende wieder aktivierst.

Alternative Methoden

  1. Verwendung von Excel-Optionen: Du kannst die Einstellungen in Excel anpassen, um das Verhalten beim Schließen zu ändern:

    • Gehe zu Datei > Optionen > Speichern, und stelle sicher, dass die Option „Änderungen automatisch speichern“ aktiviert ist.
  2. Makros für automatisches Speichern: Erstelle ein Makro, das die Datei automatisch speichert, wenn bestimmte Bedingungen erfüllt sind. Zum Beispiel:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        ThisWorkbook.Save
    End Sub

Praktische Beispiele

  • Excel-Dokument mit Bedingung: Wenn du nur speichern möchtest, wenn Änderungen vorgenommen wurden, nutze den vorgeschlagenen Code in der Schritt-für-Schritt-Anleitung. So kannst du sicherstellen, dass Excel nicht unnötig nach dem Speichern fragt, wenn keine Änderungen gemacht wurden.

  • Schließen ohne Speichern: Wenn du das Dokument schließen möchtest, ohne Änderungen zu speichern, kannst du den folgenden Befehl verwenden:

    Workbooks("DeineDatei.xlsx").Close SaveChanges:=False

Tipps für Profis

  • Verwende Application.EnableEvents = False vor dem Speichern, um zu verhindern, dass andere Makros während des Speichervorgangs ausgelöst werden. Setze es danach wieder auf True.
  • Dokumentation: Halte deine VBA-Codes gut dokumentiert, damit du jederzeit nachvollziehen kannst, warum bestimmte Entscheidungen getroffen wurden.

FAQ: Häufige Fragen

1. Warum speichert Excel meine Änderungen nicht?
Das kann verschiedene Gründe haben, unter anderem falsche Einstellungen in den Excel-Optionen oder ein fehlerhaftes Makro. Überprüfe deinen VBA-Code und stelle sicher, dass ThisWorkbook.Saved = False vor dem Schließen korrekt behandelt wird.

2. Wie kann ich sicherstellen, dass Excel nicht nach dem Speichern fragt?
Du kannst die ThisWorkbook.Saved = True-Anweisung verwenden, um Excel zu signalisieren, dass keine Änderungen vorliegen, die gespeichert werden müssen. Achte darauf, dass dies nur gemacht wird, wenn du tatsächlich keine Änderungen hast.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige