Excel VBAEFOR CLOSE ERST NACH AFTER SAVE

Hallo Freunde
Ich habe ein VBA erstellt Befor Close. Damit erstelle ich eine Sicherungskopie der Datei.
Leider werde ich jetzt nichtmehr gewahrt, fals ich die Datei nicht gespeichert habe. Wie kiege ich das hin?
Hier noch mein Code
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = True
Dim pfad As String
pfad = „C:\Users\whaefliger\Desktop\A_Best\Kistler Roman“ 'Anpassen
ActiveWorkbook.SaveAs Filename:=pfad & „“ & „Test3“ & „-“ & Format(Now, „YYYY-MM-DD_hh.mm.ss“) & „.xlsm“ '(Test3)anpassen
End Sub

Danke & Gruss

Walti

Hallo Walti,

du könntest zwischen die Dim- und die Pfad-Zeile noch einfügen:

If Not Me.Saved Then Me.Save

Damit wird die Mappe gespeichert, wenn sie nach der letzten Änderung noch nicht gespeichert wurde. Eine Meldung gibt’s allerdings nicht.

Gruß, Andreas

Hallo Andreas

Das habe ich acuch gemacht. Da dies aber für die meissten User ungewoht ist, möcht ich bzw. derjenige der mich gefragt hat, eben die Systemmeldung.
Gruss
Walt

Hallo Walti,

dann kannst du die Meldung höchstens selber bauen:

If not Me.Saved Then
 antwort = MsgBox("Sollen Ihre Änderungen an " & DieseArbeitsmappe.Name & " gespeichert werden?", vbYesNoCancel + vbExclamation, "Microsoft Excel")
 ' Auswertung von antwort und entsprechend speichern oder nicht ...
End If

Gruß, Andreas