Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Uhrzeit im Dateinamen

Uhrzeit im Dateinamen
Philipp
Hi!
Ich bitte wieder mal um Eure Hilfe!
Was ist an folgender Zeile falsch?
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "TRDB" & "--" & Format(Date, "YYYY-MM-DD") & "--" & Format(Time, "hh-mm-ss") & ".csv", FileFormat:=xlCSV, _
CreateBackup:=False
Beim Versuch das Makro auszuführen kommt folgende Meldung:
Fehler beim Kompilieren: Function oder Variable erwartet
Irgendetwas scheint mit "Time" nicht zu stimmen.
Was mich irritiert ist, dass ich diese Zeile aus einem anderen Makro von mir herauskopiert habe - und dort klappts!
Danke Euch
LG Philipp
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Uhrzeit im Dateinamen
24.07.2009 16:21:35
Hübi
Hi,
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & "TRDB" & "--" & VBA.Format(VBA.Date, "YYYY-MM-DD") & "--" & VBA.Format(VBA.Time, "hh-mm-ss") & ".csv", FileFormat:=xlCSV, _
CreateBackup:=False
mfg Hübi
AW: Uhrzeit im Dateinamen
24.07.2009 17:27:26
Philipp
Hallo Hübi!
Vielen Dank - hat bestens geklappt!
Jürgen meinte, dass event. daran liegt, dass ich ein Sub oder oder eine Funktion so genannt habe - ist aber nicht der Fall (so weit ich sehe!)
Schönes Wochenende
LG Philipp
Anzeige
AW: Uhrzeit im Dateinamen
24.07.2009 17:56:20
Luschi
Hallo Philipp,
wenn es soweit ist, daß man bei bestimmten Vba-Standard-Funktionen (Mid, Left, Right, Format usw.)
den Prefix 'VBA.' vorsetzen muß, ist das ein sicheres Zeichen dafür, daß diese Datei nicht mehr so ganz homogen ist; also schon eine kleine Macke hat. Da sollte man schon mal Nachdenken, die Tabellenstruktur neu aufzubauen oder eine Backup-Datei hervorkramen, wo dieses Verhalten noch nicht auftrat und diese Datei dann aktualisieren.
Meist dauert es auch nicht mehr lange, daß die Wenn-Funktionen in den Tabellenzellen nicht mehr richtig
arbeiten oder Summenwerte nicht aktualisierbar sind.
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Uhrzeit im Dateinamen
24.07.2009 16:24:05
Jürgen
Hallo Philipp,
ich würde vermuten, dass Du eine Sub oder Function in der Datei hast, die Time oder date heißt.
Gruß, Jürgen
;
Anzeige
Anzeige

Infobox / Tutorial

Uhrzeit im Dateinamen speichern


Schritt-für-Schritt-Anleitung

Um die Uhrzeit im Dateinamen zu speichern, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  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 und "Einfügen" > "Modul" wählst.

  3. Kopiere und füge folgenden Code in das Modul ein:

    Sub SpeichereDateiMitUhrzeit()
        ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & _
            "TRDB" & "--" & Format(Date, "yyyy-mm-dd") & "--" & _
            Format(Time, "hh-mm-ss") & ".csv", FileFormat:=xlCSV, _
            CreateBackup:=False
    End Sub
  4. Schließe den VBA-Editor.

  5. Führe das Makro aus, indem Du ALT + F8 drückst, das Makro auswählst und auf "Ausführen" klickst.


Häufige Fehler und Lösungen

Einige häufige Fehler, die beim Speichern von Dateinamen mit Uhrzeiten auftreten können:

  • Fehler beim Kompilieren: Function oder Variable erwartet
    Dieser Fehler tritt auf, wenn Du versuchst, die Standardfunktionen Date oder Time ohne den Prefix VBA. zu verwenden. Stelle sicher, dass Du den Code wie folgt schreibst:

    Format(VBA.Date, "yyyy-mm-dd")
    Format(VBA.Time, "hh-mm-ss")
  • Dateiname enthält ungültige Zeichen
    Achte darauf, dass der Dateiname keine ungültigen Zeichen enthält, wie z.B. : oder \. Das oben genannte Format sollte dies vermeiden.


Alternative Methoden

Wenn Du eine alternative Methode suchst, um das Datum und die Uhrzeit in Dateinamen zu formatieren, kannst Du auch die Funktion Now verwenden:

ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & _
    "TRDB" & "--" & Format(Now, "yyyy-mm-dd hh-mm-ss") & ".csv", FileFormat:=xlCSV, _
    CreateBackup:=False

Diese Methode speichert das aktuelle Datum und die Uhrzeit in einem einzigen Format.


Praktische Beispiele

Hier sind einige Beispiele, wie Du die vba format date yyyy-mm-dd with time-Funktion in verschiedenen Anwendungen verwenden kannst:

  1. Speichern mit Datum und Uhrzeit
    Wenn Du regelmäßig Berichte speicherst, könnte ein Beispiel für einen Dateinamen so aussehen:

    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & _
        "Bericht_" & Format(Date, "yyyy-mm-dd") & "_" & Format(Time, "hh-mm-ss") & ".xlsx"
  2. Automatisierung in Berichten
    Du kannst das Speichern auch automatisieren, indem Du es in eine Schleife einfügst, um regelmäßig Daten zu sichern.


Tipps für Profis

  • Verwende den Prefix VBA.: Bei Standardfunktionen wie Date und Time, um Komplikationen zu vermeiden.
  • Backup erstellen: Bevor Du das Makro ausführst, erstelle ein Backup Deiner wichtigen Dateien.
  • Dateistruktur überprüfen: Wenn Du unerwartete Fehler erhältst, überprüfe die Struktur Deiner Datei, um sicherzustellen, dass alles organisiert ist.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Date und Now in VBA?
Date gibt nur das aktuelle Datum zurück, während Now sowohl das aktuelle Datum als auch die Uhrzeit zurückgibt.

2. Warum funktioniert mein Makro in einer Datei, aber nicht in einer anderen?
Möglicherweise gibt es in der anderen Datei Konflikte mit gleichnamigen Subroutinen oder Funktionen. Überprüfe die Namen in Deinen Modulen.

3. Wie kann ich die Uhrzeit in einem anderen Format speichern?
Du kannst das Format in der Format-Funktion ändern, um das gewünschte Zeitformat zu erhalten, z.B. hh:mm:ss für Stunden, Minuten und Sekunden.

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