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.

Makro Sicherung anpassen
#1
Guten Morgen zusammen,

 
mein Wissen über Makros ist leider sehr übersichtlich, und ich komme leider nicht mehr weiter.
Ich habe eine Makro die mir eine Sicherungskopie erstellt sobald ich meine Datei Speichere.
Diese funktioniert auch Super und Schnell.
 
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
   Dim SavePath As String
   Dim FileName As String
   Dim FileExtension As String
   Dim FileDate As String
   Dim FileBackupName As String
   Dim FileUsername As String
 
     SavePath = "C:\Test\Sicherung \Backup"
     FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
     FileExtension = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") + 1)
     FileUsername = Environ("UserName")
    
     FileDate = Format(Now, "YYYYmmdd_hhmmss")
     FileBackupName = SavePath & FileName & "_" & FileUsername & "_" & FileDate & "." & FileExtension
     ActiveWorkbook.SaveCopyAs FileBackupName
 End Sub
 
Allerdings würde ich gerne zwei Sicherungskopien mit dieser Makro erstellen, unter bestimmten Kriterien und meine Ansätze Funktionieren einfach nicht (Laie) Blinksmiley .
 
Die Marko die ich gepostet habe erzeugt eine Datei in dieser Form: BackupVereinsplan 1.1_USER_20181101_095355   -mit Makros-
 
Und ich hätte gerne, dass noch eine weitere Kopie in einen anderen Pfad gesichert wird
Die aber unverändert den Namen von der Original Datei trägen soll. (hier wäre das:  Vereinsplan 1.1.xlsm)
 
Das wären dann zwei Dateien in unterschieldichen Pfäden:
1x   BackupVereinsplan 1.1_USER_20181101_095355.xlsm
+
1x   Vereinsplan 1.1.xlsm
 
Und nun zum kniffligen Teil… :93: und ich weiß nicht ob es so möglich ist. wie ich mir das vorstelle.
 
Datei 1   - BackupVereinsplan 1.1_USER_20181101_095355.xlsm  – soll nur 10 Sicherungsdateien erstellen und die älteste (11Datei) Löschen.  (diese vielleicht auch ohne Makros Speichern)
 
Datei2    - Vereinsplan 1.1.xlsm  -  soll immer wieder neu überschrieben werden und den Original Namen tragen.
 
Ich weiß nicht ob das wichtig ist? Aber es wird noch über eine Marko ein Blattschutz gesetzt.
Den habe ich aber hinbekommen und der funktioniert.
 
Ich hoffe jemand hat einen Lösungsansatz, denn ich bin am Verzweifeln. :22:
 
Vielen Dank euch
Tyler
Antworten Top
#2
Hallo,

du kannst deine Datei unter jedem beliebigen Namen speichern (lassen) - siehe dazu z.B. hier.

Per VBA kannst du außerdem Dateien löschen - du müßtest dazu nur entweder eine Schleife über alle Dateien laufen lassen, um die älteste zu finden oder du speicherst dir in deine Datei eine Liste mit allen Tabellennamen und löscht aus dieser z.B. immer den ersten Eintrag.
Viele Grüße,
Matthias

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

Man muß nicht alles wissen, man muß nur wissen, wie man die Lösung findet.
[-] Folgende(r) 1 Nutzer sagt Danke an Matthias84 für diesen Beitrag:
  • Tyler
Antworten Top
#3
Hola,

geht wohl jetzt hier weiter.....

http://www.herber.de/forum/messages/1654979.html

Gruß,
steve1da
Antworten Top
#4
Danke Steve für deine Hilfe...
Antworten Top
#5
Hallöchen,

ein bisschen Englisch kannst Du aber doch?

Eine Aufgabe ist z.B.

Und ich hätte gerne, dass noch eine weitere Kopie in einen anderen Pfad gesichert wird
Die aber unverändert den Namen von der Original Datei trägen soll. (hier wäre das: Vereinsplan 1.1.xlsm)

In Deinem Code findest Du z.B.

SavePath = "C:\Test\Sicherung \Backup"
FileName = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1)
FileExtension = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") + 1)

FileBackupName = SavePath & FileName & "_" & FileUsername & "_" & FileDate & "." & FileExtension

SavePath ist der Speicherpfad
FileName ist der Dateiname
FileExtension die Erweiterung
ThisWorkbook.Name könnte vom Original der Name sein
ThisWorkbook dann das Original

FileBackupName ist der Name des Backupfiles. Hier setzt Du alles zusammen.

Weiter unten speicherst Du

ActiveWorkbook.SaveCopyAs FileBackupName

Das dürfte dann ins deutsche übersetzt das Speichern einer Kopie der aktiven Datei mit dem Backupname sein. Vom Vorgang her also genau das, was Du willst - nur die Namen und eventuell die zu speichernde Datei sind anders.

Da Du nicht den Backupname sondern den Originalname willst, aber einen anderen Pfad, dann nimm doch den Namen und schreibe den Pfad davor. Wie das geht, steht alles in Deinem geposteten Code.
Wenn das AktiveWorkbook auch das Original ist, dann kannst Du das so lassen. Ist es das nicht sondern die Datei, wo der Code drin steht, dann ist es ThisWorkbook.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Tyler
Antworten Top
#6
Hola,


Zitat:Danke Steve für deine Hilfe...


Du hast nicht wirklich verstanden worum es geht, oder?

https://www.clever-excel-forum.de/misc.php?action=help&hid=10

Vielleicht hilft dir das ja, zusätzlich zu den Hinweisen im anderen Forum.

Gruß,
steve1da
Antworten Top
#7
Hi Steve 

Doch schon deswegen habe ich auch darauf hingewiesen, dass es ein anderes Forum gibt.
Mit einer Verlinkung war mir allerdings nicht klar und hätte sonst auch gesetzt. Ist nun nicht so, dass ich mich diesem Forum/User abgewendet habe/hätte.
Dennoch danke für den Hinweis. 

Tyler
Antworten Top
#8
Danke Schauan
 Ja ich hin dem Englischen mächtig und ich verstehe auch in welche Richtung bzw was einzelne Zeilen bedeuten sollen. Allerdings versuche ich seit Tagen solch eine Kombination in die Marko zu setzten allerdings scheitere ich immer. Einzelnd bekomme ich das hin nur mit allem in einem  :91:

Mir bringt das mit Excel viel Spaß und das war auch der Grund warum ich mit dieser Aufgabe übernommen habe.
Ich bin aber nur ein quer einsteiger und versuche so viel wie mir möglich. 
Ich sitze an dieser Datei nun seit Wochen und musste immer wieder feststellen das die eine Formel nicht zu dem Code passt und der Code 1 wiederum den Code 2 ausschließt etc. pp. (ein Schritt vor  :19: und zwei wieder zurück  :16:
) Mich dadurch zu fuxen bringt Spaß nur in zwischen hat es stellenweise Ausmaße angenommen die ich nicht nachvollziehen kann. Einfach weil ich ein Laie darin bin schlicht und ergreifend, diese Datei hat nun auch eine größe angenommen was ich nicht erwartet habe. 

Aber ich werde irgendwie eine Lösung finden habe ich bisher auch. Viele Wege führen nach Rom :70:

Danke 
Tyler
Antworten Top
#9
Hallo Tyler,

Man muss ja nicht alle sauf einmal tun sondern kann da auch häppchenweise was austesten. Da hilft am Anfang auch der Makrorekorder sehr viel. Wie gesagt, das mit dem Speichern einer Kopie …

ActiveWorkbook.SaveCopyAs "D:\Test\" & ActiveWorkbook.Name

oder

ThisWorkbook.SaveCopyAs "D:\Test\" & ThisWorkbook.Name

wäre ein Schritt, und das kann man in einem eigenen Makro testen und dann, wenn es funktioniert wie gewünscht, in das größere übernehmen.


Das mit den letzten 10 aufbewahren geht natürlich nicht mit Aufzeichnen. Ist das schon erledigt oder steht die Frage noch?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Tyler
Antworten Top
#10
Hi,

als Tipp, weil es in den Augen weh tut:
"Makro" ist sächlich oder maximal noch männlich, aber nie weiblich!
Antworten Top


Gehe zu:


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