Lässt sich der Befehl zum Öffnen der Datei (Workbooks.Open Filename:="xyz.xls") mit der Anweisung SaveChanges:=False irgendwie verketten? ;-)
Private Sub CommandButton1_Click()
Rem Test
Workbooks.Open Filename:="xyz.xls"
Sheets("Präsentation").Select
Application.WindowState = xlNormal
Application.DisplayFullScreen = True
Range("A1").Select
End Sub
Um den Dialog zum Speichern von Änderungen beim Schließen einer Excel-Datei zu unterdrücken, kannst Du folgenden VBA-Code verwenden. Dieser Code öffnet eine Excel-Datei über ein Userform und sorgt dafür, dass beim Schließen der Datei keine Abfrage erscheint, ob die Änderungen gespeichert werden sollen. Führe die folgenden Schritte aus:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
Füge ein neues Modul hinzu, indem Du mit der rechten Maustaste auf "VBAProject (DeineDateiName)" klickst und dann "Einfügen" > "Modul" wählst.
Kopiere und füge den folgenden Code in das Modul ein:
Public Sub Beispiel()
Dim objWorkbook As Workbook
Set objWorkbook = Workbooks.Open(Filename:="xyz.xls")
' Dein Code hier
objWorkbook.Saved = True
End Sub
Füge den Code für den CommandButton in das Userform ein:
Private Sub CommandButton1_Click()
Dim objWorkbook As Workbook
Set objWorkbook = Workbooks.Open(Filename:="xyz.xls")
Sheets("Präsentation").Select
Application.WindowState = xlNormal
Application.DisplayFullScreen = True
Range("A1").Select
objWorkbook.Saved = True
End Sub
Schließe den VBA-Editor und teste das Userform.
Fehler: Der Dialog zum Speichern erscheint trotzdem.
objWorkbook.Saved = True
korrekt gesetzt hast, kurz bevor die Datei geschlossen wird. Dies signalisiert Excel, dass keine Änderungen gespeichert werden müssen.Fehler: Der Code funktioniert nicht, wenn die Datei direkt geöffnet wird.
Wenn Du eine andere Methode zum Unterdrücken des Speicherdialogs ausprobieren möchtest, kannst Du Application.DisplayAlerts
verwenden:
Application.DisplayAlerts = False
Workbooks.Open Filename:="xyz.xls"
Application.DisplayAlerts = True
Diese Methode deaktiviert alle Warnmeldungen für die Dauer des Befehls, was jedoch zu unerwarteten Ergebnissen führen kann, wenn Du nicht vorsichtig bist.
Hier ist ein einfaches Beispiel, wie Du den Dialog zum Speichern unterdrücken kannst:
Öffnen einer Datei mit Benutzerinteraktion:
Private Sub CommandButton2_Click()
Dim objWorkbook As Workbook
Set objWorkbook = Workbooks.Open(Filename:="xyz.xls")
' Deine Logik hier
objWorkbook.Saved = True
End Sub
In diesem Beispiel wird die Datei "xyz.xls" geöffnet, und der Speicherdialog wird unterdrückt, sobald das Userform benutzt wird.
objWorkbook.Saved
Befehl immer vor dem Schließen der Datei ausführst, um sicherzustellen, dass Excel keine Änderungen speichert, die Du nicht behalten möchtest.Application.DisplayAlerts
Eigenschaft vorsichtig, da sie alle Warnmeldungen unterdrückt und zu unerwarteten Situationen führen kann, wenn Du nicht aufpasst.1. Werden Änderungen durch objWorkbook.Saved gespeichert oder verworfen?
Die Änderungen werden verworfen. Durch das Setzen von objWorkbook.Saved = True
signalisiert man Excel, dass keine Änderungen vorgenommen wurden.
2. Wo sollte ich den Code einfügen?
Der Code sollte in ein Modul eingefügt werden. Wenn Du ein Userform verwendest, kannst Du den Code direkt im CommandButton_Click
Event einfügen.
3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen