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

Forumthread: Datei öffnen in einem teilweise variablen Pfad

Datei öffnen in einem teilweise variablen Pfad
23.11.2015 16:11:58
Kerstin
Hallo Excel-Experten!
Nachdem ich hier in eurem Forum schon viele Lösungen für meine VBA-Probleme gefunden habe, stehe ich nun wirklich vor einem Problem, bei dem selbst Freund Google die Flügel streckt (wahrscheinlich ist aber eher, daß ich nicht so richtig weiß, wonach ich genau googeln soll...)
Hier ist mein Problem:
Ich möchte mittels VBA aus einer Exceldatei (Buchungsübersicht.xls) eine Datei namens „Buchungsliste.xls“ in einem TEILWEISE VARIABLEN Pfad öffnen.
Der Pfad sieht wie folgt aus:
I:\MRS\2016\01 Ski-und Wanderfreizeit\Buchungsliste.xls
Nun ist I:\MRS\ immer gleich (kann ich!)
2016 hole ich mir aus einer Zelle (kann ich auch!)
Buchungsliste.xls Dateiname ist auch immer gleich (easy!)
Der Anfang des 3. Ordnernamens, also die Zahl, steht ebenfalls in einer Zelle,
d.h. „Ski-und Wanderfreizeit“ ist variabel. (KANN ICH N I C H T!)
Gibt es eine Möglichkeit nach I:\MRS\2016\01 *\Buchungsliste.xls
zu suchen und diese dann zu öffnen?
(Im Ordner 2016 gibt es noch: 02 Biathlon WM\Buchungsliste.xls
03 Madeira\Buchungsliste.xls
04 Malta\Buchungsliste.xls etc.
Ähnliches gibt es für 2017, 2018, etc
Also: I:\MRS\2017\01 Alaska\Buchungsliste.xls
\02 Irland\Buchungsliste.xls etc
I:\MRS\2018\01 Sri Lanka\Buchungsliste.xls
\02 Kuba\Buchungsliste.xls etc)
Nach dem Öffnen der Buchungsliste sollen Werte in meine Buchunsübersicht übertragen werden, aber das kann ich dann selbst, ist nur zur Info....
Schon jetzt vielen Dank für eure Hilfe!!!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datei öffnen in einem teilweise variablen Pfad
23.11.2015 16:26:08
Rudi
Hallo,
den Pfad bekommst du mit z.B.
DerPfad = Dir("I:\MRS\" &ZelleMitJahr &"\" &ZelleMitNummer &"*",vbDirectory)
Workbooks.Open DerPfad &"\Buchungsliste.xls"
Gruß
Rudi

AW: Datei öffnen in einem teilweise variablen Pfad
23.11.2015 17:07:32
Kerstin
Danke, Danke, danke!!!!!!!!!!
Es hat geklappt!!!!!
Suuuuuper!!!
LG Kerstin
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Datei öffnen in einem teilweise variablen Pfad


Schritt-für-Schritt-Anleitung

  1. Variablen festlegen: Definiere die Zellen, aus denen du das Jahr und die Nummer des Ordners holst. Zum Beispiel:

    Dim ZelleMitJahr As String
    Dim ZelleMitNummer As String
    ZelleMitJahr = Worksheets("DeinBlatt").Range("A1").Value ' Jahr aus Zelle A1
    ZelleMitNummer = Worksheets("DeinBlatt").Range("B1").Value ' Ordnernummer aus Zelle B1
  2. Pfad zusammenstellen: Verwende die Dir-Funktion, um den Pfad zu erstellen und die Datei zu suchen:

    Dim DerPfad As String
    DerPfad = Dir("I:\MRS\" & ZelleMitJahr & "\" & ZelleMitNummer & "*", vbDirectory)
  3. Datei öffnen: Wenn der Pfad gefunden wird, öffne die Datei:

    If DerPfad <> "" Then
       Workbooks.Open "I:\MRS\" & ZelleMitJahr & "\" & DerPfad & "\Buchungsliste.xls"
    Else
       MsgBox "Die Datei konnte nicht gefunden werden."
    End If

Häufige Fehler und Lösungen

  • Fehler: Datei nicht gefunden
    Lösung: Überprüfe, ob die Zellen für Jahr und Nummer korrekt gefüllt sind und ob der Pfad tatsächlich existiert.

  • Fehler: Laufzeitfehler 76
    Lösung: Dieser Fehler tritt auf, wenn der Pfad ungültig ist. Stelle sicher, dass der Pfad korrekt zusammengesetzt wird.


Alternative Methoden

Eine alternative Methode, um eine Datei mit einem variablen Pfad zu öffnen, ist die Verwendung von Application.GetOpenFilename, um den Benutzer einen Pfad auswählen zu lassen. Dies kann nützlich sein, wenn du den Pfad nicht im Voraus kennst.

Dim FileToOpen As String
FileToOpen = Application.GetOpenFilename("Excel-Dateien (*.xls), *.xls")
If FileToOpen <> "False" Then
    Workbooks.Open FileToOpen
End If

Praktische Beispiele

Hier ist ein Beispiel, wie du die Logik in einem echten Szenario umsetzen könntest:

Sub BuchungslisteÖffnen()
    Dim ZelleMitJahr As String
    Dim ZelleMitNummer As String
    Dim DerPfad As String

    ZelleMitJahr = Worksheets("Blatt1").Range("A1").Value
    ZelleMitNummer = Worksheets("Blatt1").Range("B1").Value

    DerPfad = Dir("I:\MRS\" & ZelleMitJahr & "\" & ZelleMitNummer & "*", vbDirectory)

    If DerPfad <> "" Then
        Workbooks.Open "I:\MRS\" & ZelleMitJahr & "\" & DerPfad & "\Buchungsliste.xls"
    Else
        MsgBox "Die Datei konnte nicht gefunden werden."
    End If
End Sub

Tipps für Profis

  • Nutze die Option Explicit-Direktive, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden und den Code lesbarer zu machen.
  • Verwende Error Handling, um mögliche Laufzeitfehler abzufangen. Ein einfaches Beispiel:
    On Error Resume Next
    Workbooks.Open "DeinPfad"
    If Err.Number <> 0 Then
       MsgBox "Fehler beim Öffnen der Datei."
       Err.Clear
    End If

FAQ: Häufige Fragen

1. Wie kann ich den Pfad der aktuellen Datei in VBA verwenden?
Du kannst den Pfad der aktuellen Datei mit ThisWorkbook.Path abrufen.

2. Kann ich auch die Datei in einem anderen Format öffnen?
Ja, du kannst auch Dateien in anderen Formaten öffnen, indem du den Dateinamen und die Extension entsprechend anpasst, z.B. .xlsx statt .xls.

3. Was ist, wenn ich mehrere Dateien im gleichen Ordner habe?
In diesem Fall kannst du die Dir-Funktion in einer Schleife verwenden, um alle Dateien zu durchlaufen und die gewünschte Datei auszuwählen.

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