Anzeige
Archiv - Navigation
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kopie erstellen, überschreiben falls vorhanden

Kopie erstellen, überschreiben falls vorhanden
28.04.2008 08:34:58
Christian
Hallo Leute
Ich habe ein kleines Problem. Ich benötige ein Makro, dass nach dem speichern einer Arbeitsmappe , eine Kopie von dieser erstellt, inklusive aktuellem Datum. Falls an diesem Tag bereits eine Kopie erstellt wurde, soll diese überschrieben werden, sodass Maximal eine Kopie pro Tag vorhanden ist.
Könnt Ihr mir dabei vielleicht helfen?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie erstellen, überschreiben falls vorhanden
28.04.2008 09:11:00
Rudi
Hallo,
in DieseArbeitsmappe:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Application.DisplayAlerts = False
With ThisWorkbook
.SaveCopyAs Left(.FullName, Len(.FullName) - 4) & "_" & Format(Date, "YYYYMMDD") & ".xls"
End With
Application.DisplayAlerts = True
End Sub


AW: Kopie erstellen, überschreiben falls vorhanden
28.04.2008 09:32:02
Christian
Besten Dank für die Antwort.
Leider steht im Workbook before close ereignis schon etwas anderes drin, und wenn ich die beiden Sachen verbinde funktioniert das nicht richtig.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Unprotect
Worksheets("Maschinen").Visible = xlVeryHidden
Worksheets("sonstiges").Visible = xlVeryHidden
Worksheets("Arbeitsgruppen").Visible = xlVeryHidden
End Sub


Das steht da drin. Wenn ich jetzt den von dir vorgeschlagenen Code dort einfüge,
und oben noch ein "ByVal SaveAsUI As Boolean" in die Klammer einfüge, funktioniert es leider nicht.
Hast du diesbezüglich einen Lösungsvorschlag?
MfG Christian

Anzeige
AW: Kopie erstellen, überschreiben falls vorhanden
28.04.2008 09:36:00
Rudi
Hallo,
du hast speichern geschrieben, nicht schließen.
Die Parameter der Ereignisprozeduren kann man nicht ändern.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
ThisWorkbook.Unprotect
Worksheets("Maschinen").Visible = xlVeryHidden
Worksheets("sonstiges").Visible = xlVeryHidden
Worksheets("Arbeitsgruppen").Visible = xlVeryHidden
Application.DisplayAlerts = False
With ThisWorkbook
.SaveCopyAs Left(.FullName, Len(.FullName) - 4) & "_" & Format(Date, "YYYYMMDD") & ".xls"
End With
Application.DisplayAlerts = True
End Sub


Gruß
Rudi

Anzeige
AW: Kopie erstellen, überschreiben falls vorhanden
28.04.2008 09:50:06
Christian
Danke sehr!
Ich wusste aber nicht, dass es einen Unterschied macht ob ich den Code jetzt bei before close oder before save reinsetze. Ist es eigentlich normal, dass das Erstellen einer Kopie so ca 20 Sekunden dauert? Wenn ich das vom Windows aus mache geht das doch in nicht mal einer Sekunde.
Mfg Christian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige