Makro Fehlermeldung
#1
Hallo zusammen,

ich hab folgendes Problem.
Ich hab ein Makro in meiner Datei, welche automatisch beim speichern/schließen eine Sicherungskopie erstellt.
-------------------------------------------------------------------------------------------------------------------------------------------------------

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   On Error GoTo Fehler
   Const APPNAME = "Workbook_BeforeClose"
   
   Dim NName As String, Pfad As String
   Cancel = True
   
   With ThisWorkbook
       NName = .Name
       Pfad = .Path & "\Sicherung\"
       
       'Originaldatei speichern
       .Save
       
       'Kopie speichern
       .SaveAs Filename:=Pfad & Format(Now, "DD-MM-YYYY _ hh-mm") & "_" & "Liste Sicherung", FileFormat:= _
           xlOpenXMLWorkbookMacroEnabled
           
       Application.EnableEvents = False
       .Close
   End With
   
   
   '*** Fehlerbehandlung
   Err.Clear
Fehler:
   Application.EnableEvents = True
   If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
       & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

-------------------------------------------------------------------------------------------------------------------------------------------------------

Das funktioniert auch super.
Nur wenn ich nun die Sicherungskopie öffne um diese anzuschauen und wieder schließen möchte kommt folgende Fehlermeldung.

++++++++
Fehler in Sub "Workbook_BeforeClose"
Fehlermeldung: 1004
Die Methode ´SaveAs´für das Objekt´_Workbook´ist fehlgeschlagen.
++++++++

Liegt der Fehler darin das das Marko ja auch in der Sicherungkopie gespeichert ist ?
Was muss ich ändern?



Danke schonmal für eure Hilfe
LG
Top
#2
Hallo nochmal.

macht es denn überhaupt Sinn, in der Sicherungskopie beim Speichern die Makros drin zu lassen?


Speicher die Datei OHNE Code als .xlsx



Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
   On Error GoTo Fehler
   Const APPNAME = "Workbook_BeforeClose"
 
   Dim NName As String, Pfad As String
   Cancel = True
 
   With ThisWorkbook
       NName = .Name
       Pfad = .Path & "\Sicherung\"
       
       'Originaldatei speichern
       .Save
     
       'Kopie speichern
       Application.DisplayAlerts = False ' Warnhinweis ausschalten
       .SaveAs Filename:=Pfad & Format(Now, "DD-MM-YYYY _ hh-mm") & "_" & "Liste Sicherung", FileFormat:= _
           xlOpenXMLWorkbook
         
       Application.EnableEvents = False
       .Close
   End With
 
 
   '*** Fehlerbehandlung
   Err.Clear
Fehler:
   With Application
       .EnableEvents = True
       .DisplayAlerts = True
   End With
   If Err.Number <> 0 Then MsgBox "Fehler in Sub """ & APPNAME & """" & vbCrLf _
       & "Fehlernummer: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub


LG UweD
Top
#3
Hallo Uwe,

du bist einfach genial :18: 

DANKE DANKE DANKE

LG
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste