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

Datei schliessen ohne zu speichern

Forumthread: Datei schliessen ohne zu speichern

Datei schliessen ohne zu speichern
27.09.2002 14:41:22
Daniel
Beim Beenden meiner Applikation durch eine VBA prozedur werden alle xls Dateien die Daten enthalten
gespeichert und geschlossen, ausser der pgm.xls welche nur VBA Prozeduren enthält.
Diese möchte ich nicht speichern, da es schon vorgekommen ist, dass durch Abstürze die Datei unbrauchbar
geworden ist.
Doch beim anschliessenden Beenden der Applikation Excel wird immer gefragt, ob pgm.xls gespeichert werden
soll oder nicht, obwohl keine Daten darin enthalten sind.

Werk kennt da einen Trick?
Wie kann ich diese Meldung unterdrücken, so dass ich nicht jedesmal diese Meldung mit „nicht speichern“ beantworten muss?

Mein Makro: (Muster)

Sub beenden()

Windows("Daten.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close

Windows("Daten2.xls").Activate
ActiveWorkbook.Save
ActiveWindow.Close

Application.Quit

End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datei schliessen ohne zu speichern
27.09.2002 14:47:57
Jürgen
Hallo Daniel,

versuch's mit:

Workbooks("pgm.xls").Close SaveChanges:=False

Gruß
Jürgen

Re: Datei schliessen ohne zu speichern
27.09.2002 14:51:15
Andreas S
Hallo,

versuch es mal so:

Workbooks("pgm.xls").Saved=True
(Damit gauckelst du Excel vor, die Mappe wäre schon gesepichert)
Gruss
Andreas

Anzeige
Re: Datei schliessen ohne zu speichern
27.09.2002 15:02:12
Daniel
Das Schliessen klappt, aber "Application.Quit" wird
nicht mehr ausgeführt


Re: Datei schliessen ohne zu speichern
27.09.2002 15:07:55
Daniel
Was genau macht Application.Quit?
Wenn möglich bitte mir direkt über mail antworten...
Re: Datei schliessen ohne zu speichern
27.09.2002 20:22:15
Mischa Richter
application.displayalerts = false
'und schon kommt keine rückfrage mehr
mischa
Anzeige
Re: Datei schliessen ohne zu speichern
27.09.2002 21:53:24
Udo RiHü
Hallo,
vielleich hilft das:
Ins Klassenmodul 'DieseArbeitsmappe'

Private sub before_save()
thisworkbook.saved=true
end sub

Dann gilt die Mappe als gespeichert und wird einfach geschlossen.

Gruss Udo

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datei schließen ohne zu speichern in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Datei in Excel VBA zu schließen, ohne sie zu speichern, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel mit ALT + F11.

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

  3. Füge den folgenden Code in das Modul ein:

    Sub DateiSchliessenOhneSpeichern()
       ' Deaktiviert die Warnmeldungen
       Application.DisplayAlerts = False
    
       ' Schließt die Datei pgm.xls ohne zu speichern
       Workbooks("pgm.xls").Close SaveChanges:=False
    
       ' Aktiviert die Dateien, die gespeichert werden sollen
       Windows("Daten.xls").Activate
       ActiveWorkbook.Save
       ActiveWindow.Close
    
       ' Beendet Excel
       Application.Quit
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus.


Häufige Fehler und Lösungen

  • Frage: Die Datei schließt sich, aber die Anwendung wird nicht beendet.

    • Lösung: Stelle sicher, dass du Application.Quit am Ende deines Codes hast. Wenn du jedoch DisplayAlerts auf False setzt, stelle sicher, dass du alle notwendigen Dateien schließt oder speicherst, bevor du die Anwendung schließt.
  • Frage: Ich bekomme immer noch eine Speicherabfrage.

    • Lösung: Überprüfe, ob du SaveChanges:=False korrekt in deinem Code verwendest, um Excel mitzuteilen, dass keine Änderungen gespeichert werden sollen.

Alternative Methoden

  1. Workbooks.Saved Eigenschaft: Wenn du die Datei als gespeichert markierst, kannst du Excel vorgaukeln, dass keine Änderungen vorgenommen wurden:

    Workbooks("pgm.xls").Saved = True
    Workbooks("pgm.xls").Close
  2. Klassenmodul verwenden: Du kannst auch einen Before_Save-Ereignis-Handler im Klassenmodul "DieseArbeitsmappe" verwenden:

    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
       ThisWorkbook.Saved = True
    End Sub

Praktische Beispiele

Hier sind einige praktische Anwendungsbeispiele für das Schließen von Dateien in Excel VBA:

  • Beispiel 1: Schließen ohne Speichern

    Sub SchliessenOhneSpeichern()
      Application.DisplayAlerts = False
      ActiveWorkbook.Close SaveChanges:=False
    End Sub
  • Beispiel 2: Speichern und Schließen

    Sub SpeichernUndSchliessen()
      ActiveWorkbook.Save
      ActiveWorkbook.Close
    End Sub

Tipps für Profis

  • Nutze Application.DisplayAlerts = False, um alle Bestätigungsdialoge zu unterdrücken, bevor du eine Datei schließt. Dies ist besonders nützlich, wenn du mehrere Dateien hintereinander schließt.
  • Überlege, ob du eine Fehlerbehandlung einbaust, um sicherzustellen, dass alle Dateien entweder gespeichert oder geschlossen werden können, ohne dass der Prozess bei einer Fehlermeldung stoppt.
  • Wenn du regelmäßig mit VBA arbeitest, erwäge, deine Makros in einer separaten Datei zu speichern, um sie bei Bedarf einfach wiederverwenden zu können.

FAQ: Häufige Fragen

1. Was macht Application.Quit genau?
Application.Quit beendet die Excel-Anwendung komplett. Stelle sicher, dass alle notwendigen Dateien gespeichert oder geschlossen sind, bevor du diesen Befehl ausführst.

2. Wie kann ich verhindern, dass Excel mich fragt, ob ich die Datei speichern möchte?
Verwende Application.DisplayAlerts = False und achte darauf, dass du das Schließen der Datei mit SaveChanges:=False durchführst.

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