Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hilfe für Makro
#1
Hallo,
ich bin neu hier und hoffe sehr ihr könnt mir helfen.
Ich komm in Ecxel soweit zurecht, mir mit ein paar Formeln das arbeiten zu erleichtern. :19:

Nun möchte ich aber gerne ein Makro erstellen, und davon hab ich absolut keine Ahnung.

Es soll folgendes ausführen:

Nachdem in der ExcelDatei etwas geändert wurde und ich dann auf speichern gehe, soll es mir automatisch eine Sicherungskopie mit dem aktuellen Datum abspeichern.

Ich habe schon viel im Internet gefunden und ausprobiert aber bekomm es einfach nicht hin.
Hab auch gelesen das man das Marko nicht unter Modul sondern unter "DieseArbeitsmappe" eingeben muss.
Bekomm es aber nicht unter Arbeitsmappe. Es steht immer unter Modul :22:

Kann mir bitte jemand helfen?
Antworten Top
#2
Hallo

in Excel

- ALT +F11
- Strg +R

- links deine Datei suchen
- Doppelclick auf DieseArbeitsmappe

- rechts dann den Code eintragen.




Beispiel:


Code:
Option Explicit

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 & "\"
       
       'Originaldatei speichern
       .Save
       
       'Kopie speichern
       .SaveAs Filename:=Pfad & Format(Date, "YYYY_MM_DD") & "_" & NName, 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

LG UweD


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#3
Hallo UweD

vielen lieben Dank.

Funktioniert genauso so wie gewünscht.

Danke Danke Danke :19:

Könnte man evtl. noch die Uhrzeit mit einbauen
Antworten Top
#4
Klar...


Now anstelle von Date
und das Format anpassen...

Code:
.SaveAs Filename:=Pfad & Format(Now, "YYYY_MM_DD_hh_mm_ss") & "_" & NName, FileFormat:= _
          xlOpenXMLWorkbookMacroEnabled

LG UweD
Antworten Top
#5
Du bist Spitze danke. :18:

Hätte dir eine private Nachricht geschrieben.
Bin mir aber nicht sicher ob du sie bekommen hast.
Antworten Top
#6
Jetzt hätte ich noch eine Frage zu dem Makro Blush

Wo müsste ich genau den Dateipad ändern wenn ich es in einem seperaten Ordner "Sicherung" gespeichert haben möchte?

Hoffe es war die letzte Frage.
Antworten Top
#7
Hallo nochmal


hier z.B.


Code:
Pfad = .Path & "\"

da wird der aktuelle Pfad der Datei genommen

Extraverzeichnis:
Kannst du entweder Fix zuweisen oder z.B. anhängen...


Code:
Pfad = "X:\Sicherung\"



oder

Pfad= .Path & "\Sicherung\"

LG UweD
Antworten Top
#8
Vielen Danke
:18:
Antworten Top


Gehe zu:


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