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

Forumthread: Datei öffnen mit Datumsabhängigen Pfad & Namen

Datei öffnen mit Datumsabhängigen Pfad & Namen
08.11.2016 12:20:34
Matthias
Hallo liebe Experten :)
ich hab mal wieder ein Problem bei VBA :(
Ich will im Makro ein neues Workbook öffnen - soweit so gut bekomm ich das auch hin. Jetzt ist das allerdings ein Makro was ich monatlich ausführen muss und die zu öffnende Datei ändert sich auch jeden Monat und auch der Pfad wo sie zu finden ist.
Also im Klartext ist der Dateipfad:
C:\test\JAHR(JJJJ)\Monat(MM)\Dateiname_MM_JJJJ.xlsx
Meine Idee bzw. Hoffnung war das es wie folgt geht:
Sub öffnen()
Workbooks.Open Filename:="C:\test\Format(Now, "yyyy")\Format(Now, "mm")\"Dateiname_" & Format(  _
_
Now, "mm") & "_" & Format(Now, "yyyy") & ".xlsx"
End Sub

Hoffe das es überhaupt möglich ist ansonsten muss ich mir was anderes überlegen. Hab online zumindest noch nix ordentliches gefunden...
Auf alle Fälle schonmal danke für die Hilfe
Grüße Matthias
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen mit Datumsabhängigen Pfad & Namen
08.11.2016 12:40:37
Armin
Hallo Matthias,
so musst Du das schreiben :
Sub öffnen()
Workbooks.Open Filename:="C:\test\" & Format(Now, "yyyy") & "\" & Format(Now, "mm") & "\ _
Dateiname_" & Format(Now, "mm") & "_" & Format(Now, "yyyy") & ".xlsx"
End Sub

Anzeige
AW: Datei öffnen mit Datumsabhängigen Pfad & Namen
08.11.2016 13:13:11
Matthias
Hey Armin,
klasse ich danke dir das funktioniert einwandfrei :)
Da ich bei VBA ganz neu bin einfach mal noch eine weiterführende Frage^^
Wenn ich jetzt anstelle diesen Monats den Vormonat öffnen möchte würde ich das jetzt so machen:
Sub öffnen()
Dim Vormonat As Date
Vormonat = DateSerial(Year(Now), Month(Now) - 1, Day(Now))
Workbooks.Open Filename:="C:\test\" & Format(Vormonat, "yyyy") & "\" & Format(Vormonat, "mm") &  _
"\Dateiname_" & Format(Vormonat, "mm") & "_" & Format(Vormonat, "yyyy") & ".xlsx"
End Sub
Ist das eine logische Variante und gibt es da einen einfachere Variante oder würde die so passen?
Grüße Matthias
Anzeige
so OK. owT
08.11.2016 13:23:51
Rudi
AW: so OK. owT
08.11.2016 13:36:27
Matthias
& beim Jahreswechsel würde das auch so klappen ja? Da bin ich mir nämlich unsicher... oder würde der da jetzt bspw. anstelle von Dez 2016 einfach den Wert Dez 2017 im Januar 2017 verwenden?
warum testest du das nicht?
08.11.2016 14:04:43
Rudi
Msgbox month(dateserial(2017,1-1,8))
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Datei öffnen mit Datumsabhängigen Pfad in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Excel-Datei mit einem datumsabhängigen Pfad zu öffnen, kannst du folgendes VBA-Skript verwenden. Der Pfad zur Datei ändert sich abhängig vom aktuellen Jahr und Monat. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu, indem du im Menü Einfügen auf Modul klickst.

  3. Kopiere den folgenden Code in das Modul:

    Sub öffnen()
       Workbooks.Open Filename:="C:\test\" & Format(Now, "yyyy") & "\" & Format(Now, "mm") & "\Dateiname_" & _
       Format(Now, "mm") & "_" & Format(Now, "yyyy") & ".xlsx"
    End Sub
  4. Schließe den VBA-Editor und führe das Makro aus, um die Datei zu öffnen.

Wenn du stattdessen den Vormonat öffnen möchtest, kannst du diesen Code verwenden:

Sub öffnen()
    Dim Vormonat As Date
    Vormonat = DateSerial(Year(Now), Month(Now) - 1, Day(Now))
    Workbooks.Open Filename:="C:\test\" & Format(Vormonat, "yyyy") & "\" & Format(Vormonat, "mm") & "\Dateiname_" & _
    Format(Vormonat, "mm") & "_" & Format(Vormonat, "yyyy") & ".xlsx"
End Sub

Häufige Fehler und Lösungen

  • Fehler: Datei kann nicht gefunden werden

    • Überprüfe, ob der Pfad korrekt ist und die Datei tatsächlich existiert.
  • Fehler: Laufzeitfehler 1004

    • Dieser Fehler tritt häufig auf, wenn der Dateipfad oder der Dateiname falsch ist. Achte darauf, dass alle Variablen korrekt formatiert sind.
  • Fehler: Monatswechsel

    • Wenn du den Vormonat im Dezember öffnest, stelle sicher, dass der Code für den Jahreswechsel korrekt funktioniert. Verwende DateSerial, um sicherzustellen, dass der Monat und das Jahr richtig aktualisiert werden.

Alternative Methoden

Neben der Verwendung von VBA gibt es auch andere Möglichkeiten, Dateien basierend auf dem Datum zu öffnen:

  1. Power Query: Verwende Power Query, um Daten dynamisch zu importieren und zu filtern, ohne VBA.
  2. Hyperlinks: Erstelle Hyperlinks in Excel, die auf die entsprechenden Dateien zeigen, und passe die Links manuell an.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die VBA-Funktion anpassen kannst:

  • Jahreswechsel berücksichtigen:

    Sub öffnen()
       Dim Vormonat As Date
       Vormonat = DateAdd("m", -1, Now)
       Workbooks.Open Filename:="C:\test\" & Format(Vormonat, "yyyy") & "\" & Format(Vormonat, "mm") & "\Dateiname_" & _
       Format(Vormonat, "mm") & "_" & Format(Vormonat, "yyyy") & ".xlsx"
    End Sub
  • Datei im aktuellen Monat öffnen: Verwende die Funktion, um die Datei im aktuellen Monat zu öffnen, und passe den Pfad nach Bedarf an.


Tipps für Profis

  • Fehlerbehandlung einbauen: Verwende On Error Resume Next, um mögliche Fehler abzufangen und eine benutzerfreundliche Nachricht auszugeben.
  • Variablen nutzen: Definiere Variablen für Pfad und Dateiname, um den Code lesbarer zu gestalten.

    Sub öffnen()
       Dim Pfad As String
       Dim Dateiname As String
       Pfad = "C:\test\" & Format(Now, "yyyy") & "\" & Format(Now, "mm") & "\"
       Dateiname = "Dateiname_" & Format(Now, "mm") & "_" & Format(Now, "yyyy") & ".xlsx"
       Workbooks.Open Filename:=Pfad & Dateiname
    End Sub

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass der Code bei einem Jahreswechsel funktioniert?
Verwende die DateSerial Funktion, um den Vormonat korrekt zu berechnen, selbst wenn du im Januar bist.

2. Kann ich den Pfad dynamisch ändern?
Ja, du kannst Variablen für den Pfad und den Dateinamen verwenden, um sie bei Bedarf anzupassen.

3. Welche Excel-Version benötige ich für VBA?
VBA ist in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige