Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Datei-Kopie mit Datum und Zeit speichern

Datei-Kopie mit Datum und Zeit speichern
20.02.2009 20:26:00
Lenni
Moin Excellianer!
Mit folgender Anweisung speicher ich eine Excel-Datei an einem "2.Ort"

Me.SaveCopyAs "F:\Buero\Excel\MeinProjekt\" & Me.Name

Nun möchte ich aber meine Datei immer aktuell mit Datum und Zeit abspeichern. Bei meiner Recherche im Archiv habe ich dann folgenden Beitrag gefunden und ihn für meine Bedürfnisse umgeschrieben...
www.herber.de/forum/archiv/596to600/t597652.htm

Sub SaveWithDateTime()
Dim myPath As String
Dim myName As String
Dim myNameOEnd As String
Dim myNewName As String
'Pfad der auf zu rufenden Mappe
myPath = ActiveWorkbook.Path & "C:\Dokumente und Einstellungen\Users\Desktop\ExcelBaustelle"
'Name der aufrufenden Mappe ohne Pfad
myName = ActiveWorkbook.Name 'LeistungserfassungMultiPage.xls
'Name der aufrufenden Mappe ohne Endung
myNameOEnd = Replace(myName, Right(myName, 4), "LeistungserfassungMultiPage")
'neuer Dateiname mit Datum ("tt-mm-jjjj") und Uhrzeit ("hh-mm")
myNewName = myPath & myNameOEnd & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hh-mm") & ". _
xls"
ActiveWorkbook.Save
ActiveWorkbook.SaveCopyAs "F:\Buero\Excel Projekte\Arbeitsplaetze\" & myNewName
End Sub



...aber leider klappt das Speichern an einem 2.Ort nicht? Mir wird "Debuggen" angezeigt.
Was mache ich falsch?! Vielen Dank für Eure Hilfe!!
Viele Grüße aus dem hohen Norden!
Lenni

PS ...oder gibt es vielleicht eine viel einfachere Lösung?!?
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei-Kopie mit Datum und Zeit speichern
20.02.2009 20:50:00
Josef
Hallo Lenni,
zB. so.
Me.SaveCopyAs "F:\Buero\Excel\MeinProjekt\" & Left(Me.Name, InStrRev(Me.Name, ".") - 1) & _
    Format(Now, "_yyyymmdd_hhmmss") & Mid(Me.Name, InStrRev(Me.Name, "."))

Gruß Sepp

Anzeige
Danke Josef!!
20.02.2009 21:15:00
Lenni
Moin Josef!!
Und wieder mal bedanke ich mich auf das Herzlichste bei Dir!!!
Deine Hilfestellungen sind einfach nur eins: Erstklassig!!!
Gruß
Lenni

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datei-Kopie mit Datum und Zeit speichern


Schritt-für-Schritt-Anleitung

Um eine Kopie einer Excel-Datei zu erstellen und diese mit Datum und Uhrzeit zu speichern, kannst du den folgenden VBA-Code verwenden. Dieser Code speichert die Excel-Datei an einem festgelegten Ort mit einem Dateinamen, der das aktuelle Datum und die Uhrzeit enthält.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject" klickst, dann "Einfügen" und "Modul" wählst.
  3. Kopiere und füge den folgenden Code in das Modul ein:
Sub SaveWithDateTime()
    Dim myPath As String
    Dim myName As String
    Dim myNameOEnd As String
    Dim myNewName As String

    ' Pfad der auf zu rufenden Mappe
    myPath = "F:\Buero\Excel Projekte\Arbeitsplaetze\"

    ' Name der aufrufenden Mappe ohne Endung
    myName = ActiveWorkbook.Name ' z.B. LeistungserfassungMultiPage.xls
    myNameOEnd = Replace(myName, Right(myName, 4), "")

    ' neuer Dateiname mit Datum ("dd-mm-yyyy") und Uhrzeit ("hh-mm")
    myNewName = myPath & myNameOEnd & Format(Date, "dd-mm-yyyy") & " " & Format(Time, "hh-mm") & ".xls"

    ' Speichern der Kopie
    ActiveWorkbook.SaveCopyAs myNewName
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, um die Datei zu speichern.

Häufige Fehler und Lösungen

  • Fehler: "Debuggen" angezeigt:

    • Überprüfe den angegebenen Pfad. Stelle sicher, dass der Ordner existiert und du Schreibberechtigungen dafür hast.
  • Dateiname wird nicht korrekt erstellt:

    • Achte darauf, dass der Dateiname ohne Endung korrekt gebildet wird. Überprüfe besonders die Zeile, in der das myNameOEnd gesetzt wird.

Alternative Methoden

Falls du kein VBA verwenden möchtest, kannst du auch manuell eine Kopie einer Excel-Datei erstellen:

  1. Öffne die Excel-Datei.
  2. Gehe auf "Datei" > "Speichern unter".
  3. Wähle den Speicherort und füge das aktuelle Datum und die Uhrzeit manuell in den Dateinamen ein.

Diese Methode erfordert jedoch mehr Aufwand und ist nicht automatisiert.


Praktische Beispiele

Wenn du den VBA-Code anpassen möchtest, um andere Formate oder Speicherorte zu verwenden, kannst du beispielsweise das Datum im Format yyyymmdd speichern:

myNewName = myPath & myNameOEnd & Format(Date, "yyyymmdd") & " " & Format(Time, "hhmm") & ".xls"

Damit wird der Dateiname beispielsweise zu: LeistungserfassungMultiPage20231018 1530.xls.


Tipps für Profis

  • Nutze Application.DisplayAlerts = False, um Excel-Dialoge zu unterdrücken, wenn du mehrere Kopien hintereinander speicherst.
  • Experimentiere mit der Formatierung des Datums und der Uhrzeit, um die von dir benötigten Dateinamen zu erstellen.
  • Du kannst auch zusätzliche Fehlerbehandlungsroutinen einbauen, um unerwartete Probleme zu lösen.

FAQ: Häufige Fragen

1. Wie kann ich den Speicherort für die Datei ändern? Du kannst den Pfad in der Variable myPath im VBA-Code anpassen. Stelle sicher, dass der neue Pfad existiert.

2. Gibt es eine Möglichkeit, die Datei automatisch zu schließen, nachdem ich sie gespeichert habe? Ja, du kannst ActiveWorkbook.Close nach dem Speichern der Datei hinzufügen, um die Datei automatisch zu schließen.

3. Wie kann ich sicherstellen, dass der Dateiname keine ungültigen Zeichen enthält? Überprüfe den Dateinamen auf ungültige Zeichen wie \ / : * ? " < > | und entferne sie gegebenenfalls aus dem Dateinamen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige