Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Dateiname unvollständig

Forumthread: VBA Dateiname unvollständig

VBA Dateiname unvollständig
08.03.2018 11:22:52
Anina
Hallo zusammen,
ich will per VBA eine Datei öffnen wo sich der zwischen Teil vom Namen immer ändert. Der Dateiname ist: generic_########-######_###_****_***_buildingblock.csv
# sind Zahlen und * buchstaben
kann mir jemand sagen, wo mein Fehler liegt?

Sub Datei_oeffnen()
Dim Dateipfad_EU As String
Dateipfad_EU = InputBox("Bitte Ordnerpfad eingeben") & "/EU/generic_*_buildingblock.csv"
Workbooks.Open Filename:=Dateipfad_EU
End Sub

Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Dateiname unvollständig
08.03.2018 11:27:16
Hajo_Zi
es kann keine Datei geöffnet werden mit "*" im Namen ich vermute so eine Datei kann man nicht erstellen.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: VBA Dateiname unvollständig
08.03.2018 11:45:29
Anina
Hallo Hajo,
danke für deine schnelle Antwort. Das * ist mehr ein Platzhalter. statt dem * stehen dort Zahlen und Buchstaben, aber das ändert sich immer. nur generic und buildingblock bleibt immer gleich. Gibt es so etwas wie ein Platzhalter dass ich sagen kann öffne die Datei, die mit buildingblock.csv endet und in diesem ordner liegt?
Anzeige
AW: VBA Dateiname unvollständig
08.03.2018 12:05:31
UweD
Hallo
ist es denn nur eine Datei nach dem Muster in dem Verzeichnis?
dann könnte das hier helfen (ungetesttet)
Mit DIR() wird die erste Datei nach dem Suchmuster gefunden, und der komplette Name zurückgegeben.
Sub Datei_oeffnen()
  
    Dim Dateipfad_EU As String
  
    Dateipfad_EU = InputBox("Bitte Ordnerpfad eingeben") & "/EU/generic_*_buildingblock.csv"
    If Dir(Dateipfad_EU) <> "" Then
  
        Workbooks.Open Filename:=Dir(Dateipfad_EU)
  
    End If
End Sub

LG UweD
Anzeige
Filename:=Dir(Dateipfad_EU)
08.03.2018 12:14:19
Rudi
Hallo Uwe,
Dir() gibt ja nur den Dateinamen ohne Pfad zurück.
Gruß
Rudi
AW: Filename:=Dir(Dateipfad_EU)
08.03.2018 12:43:33
UweD
Stimmt.
Sub Datei_oeffnen()
  
    Dim Dateipfad_EU As String, Pfad_EU As String
    
    Pfad_EU = "/EU/"
    
    Dateipfad_EU = InputBox("Bitte Ordnerpfad eingeben") & Pfad_EU & "generic_*_buildingblock.csv"
    
    If Dir(Dateipfad_EU) <> "" Then
  
        Workbooks.Open Filename:=Pfad_EU & Dir(Dateipfad_EU)
  
    End If
End Sub

LG UweD
Anzeige
AW: VBA Dateiname unvollständig
08.03.2018 12:11:58
Rudi
Hallo,

Sub Datei_oeffnen()
Dim Dateipfad_EU As String, strFile As String
Dateipfad_EU = InputBox("Bitte Ordnerpfad eingeben")
If Dateipfad_EU  "" Then
If Right(Dateipfad_EU, 1)  "\" Then Dateipfad_EU = Dateipfad_EU & "\"
strFile = Dir(Dateipfad_EU & "EU\generic_*_buildingblock.csv", vbNormal)
If strFile  "" Then
Workbooks.Open Filename:=Dateipfad_EU & "EU\" & strFile
End If
End If
End Sub
Gruß
Rudi
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

VBA: Dateiname unvollständig – Dateien mit Platzhaltern öffnen


Schritt-für-Schritt-Anleitung

Um eine Datei mit einem variablen Namen in VBA zu öffnen, kannst du die Funktion Dir() verwenden. Hier ist eine einfache Anleitung:

  1. Öffne den VBA-Editor in Excel (ALT + F11).

  2. Erstelle ein neues Modul (Rechtsklick auf "VBAProject" > Einfügen > Modul).

  3. Füge den folgenden Code ein:

    Sub Datei_oeffnen()
        Dim Dateipfad_EU As String
        Dim strFile As String
    
        Dateipfad_EU = InputBox("Bitte Ordnerpfad eingeben")
    
        If Dateipfad_EU <> "" Then
            If Right(Dateipfad_EU, 1) <> "\" Then Dateipfad_EU = Dateipfad_EU & "\"
            strFile = Dir(Dateipfad_EU & "EU\generic_*_buildingblock.csv", vbNormal)
    
            If strFile <> "" Then
                Workbooks.Open Filename:=Dateipfad_EU & "EU\" & strFile
            End If
        End If
    End Sub
  4. Führe das Makro aus, indem du im VBA-Editor auf das Makro klickst und "Ausführen" wählst.


Häufige Fehler und Lösungen

  • Fehler: Datei nicht gefunden

    • Lösung: Stelle sicher, dass der Pfad korrekt eingegeben wurde und dass es tatsächlich eine Datei mit dem angegebenen Muster im angegebenen Verzeichnis gibt.
  • Fehler: Ungültiger Dateiname

    • Lösung: Überprüfe, ob der Platzhalter * korrekt verwendet wird. Der Platzhalter darf nur in der Dateisuche in Verbindung mit der Dir()-Funktion verwendet werden.

Alternative Methoden

Falls du mit VBA nicht weiterkommst, gibt es auch andere Möglichkeiten, um Dateien mit variablen Namen zu öffnen:

  1. Power Query: Du kannst eine Abfrage erstellen, um die Dateien im Verzeichnis zu importieren. Power Query kann mit Platzhaltern umgehen.
  2. Manuelles Öffnen: Wenn du nur gelegentlich die Datei brauchst, kannst du das manuell tun, indem du im Windows Explorer nach der Datei suchst.

Praktische Beispiele

Hier sind einige praktische Szenarien, in denen dieser VBA-Code nützlich sein könnte:

  • Beispiel 1: Du hast mehrere CSV-Dateien, die täglich aktualisiert werden, und möchtest sie automatisch in Excel importieren.
  • Beispiel 2: Deine Dateien sind nach Datum benannt und enthalten immer einen bestimmten Teil im Namen, sodass du nur die relevanten Informationen öffnen möchtest.

Tipps für Profis

  • Error Handling: Füge Fehlerbehandlungsroutinen in deinen Code ein, um unerwartete Fehler abzufangen. Beispiel:

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
        MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
  • Optimierung: Überlege, wie oft du das Makro ausführen musst und optimiere die Eingabeaufforderung für den Benutzer, um den Prozess zu beschleunigen.


FAQ: Häufige Fragen

1. Kann ich den Code auch verwenden, um andere Dateitypen zu öffnen?
Ja, du kannst den Dateinamen und die Endung im Dir()-Befehl anpassen, um andere Dateitypen zu öffnen.

2. Was passiert, wenn mehrere Dateien dem Muster entsprechen?
Der Dir()-Befehl gibt die erste gefundene Datei zurück. Du kannst eine Schleife verwenden, um alle passenden Dateien zu durchlaufen, falls nötig.

3. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen funktionieren, die VBA unterstützen.

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