Teil aus Dateiname auslesen in Excel
Schritt-für-Schritt-Anleitung
Um einen Teil des Dateinamens in Excel auszulesen, kannst du die folgende VBA-Funktion verwenden. Diese Funktion ermöglicht es dir, den gewünschten Teil des Dateinamens dynamisch zu extrahieren, ohne sich auf eine feste Zeichenanzahl zu stützen.
- Öffne Excel und drücke
ALT
+ F11
, um den VBA-Editor zu öffnen.
- Klicke auf
Einfügen
und wähle Modul
, um ein neues Modul zu erstellen.
- Füge den folgenden Code in das Modul ein:
Option Explicit
Sub AuslesenDateiname()
Dim strTempNameProjektdatei As String
strTempNameProjektdatei = "x-yyyy-xxx-xx.xls" ' Beispieldateiname
Dim result As String
result = Mid(strTempNameProjektdatei, InStr(1, strTempNameProjektdatei, "-") + 1, _
InStr(InStr(1, strTempNameProjektdatei, "-") + 1, strTempNameProjektdatei, "-") - InStr(1, strTempNameProjektdatei, "-") - 1)
MsgBox UCase(result)
End Sub
- Schließe den VBA-Editor und kehre zu Excel zurück.
- Drücke
ALT
+ F8
, wähle AuslesenDateiname
und klicke auf Ausführen
, um das Ergebnis anzuzeigen.
Häufige Fehler und Lösungen
-
Fehler: "Position nicht vergeben"
Dieser Fehler tritt auf, wenn der angegebene Trenner nicht gefunden werden kann. Stelle sicher, dass der Dateiname das erwartete Format hat.
-
Lösung: Überprüfe den Dateinamen
Vergewissere dich, dass der Dateiname mindestens zwei Bindestriche enthält, um die Funktion korrekt auszuführen.
-
Fehler: Undefinierte Variable
Wenn du eine undefinierte Variable erhältst, überprüfe, ob du das Option Explicit
im Modul hast. Dies hilft, Tippfehler bei Variablen zu vermeiden.
Alternative Methoden
Eine andere Methode, um Teile eines Dateinamens auszulesen, ist die Verwendung von Excel-Formeln. Diese Methode ist allerdings weniger flexibel und erfordert eine genauere Struktur des Dateinamens.
- Verwendung von TEXT-Funktionen:
Du kannst die Funktionen FIND
, LEFT
, RIGHT
und MID
kombinieren, um Teile des Dateinamens zu extrahieren.
Beispiel:
=TEIL(A1;FINDEN("-";A1)+1;FINDEN("-";A1;FINDEN("-";A1)+1)-FINDEN("-";A1)-1)
Hierbei ist A1
die Zelle, in der der Dateiname steht.
Praktische Beispiele
Hier sind einige praktische Beispiele, die dir helfen, die Funktion anzuwenden:
-
Beispiel mit festem Dateinamen:
- Dateiname:
x-2023-Wetterdaten-01.xls
- Aufruf der Funktion:
UCase(Mid("x-2023-Wetterdaten-01.xls", InStr(1, "x-2023-Wetterdaten-01.xls", "-") + 1, InStr(InStr(1, "x-2023-Wetterdaten-01.xls", "-") + 1, "x-2023-Wetterdaten-01.xls", "-") - InStr(1, "x-2023-Wetterdaten-01.xls", "-") - 1))
gibt 2023
zurück.
-
Beispiel mit anderen Dateinamen:
- Dateiname:
x-abc-xyz-01.xls
- Resultat:
abc
Tipps für Profis
-
Verwende Option Explicit
:
Dies hilft dir, Fehler im Code frühzeitig zu erkennen, indem es sicherstellt, dass alle Variablen deklariert werden.
-
Teste mit verschiedenen Dateinamen:
Probiere die Funktion mit verschiedenen Dateinamen aus, um sicherzustellen, dass sie unter verschiedenen Bedingungen funktioniert.
-
Dokumentation:
Halte eine Dokumentation deiner Funktionen und deren Verwendung bereit, um sie in zukünftigen Projekten einfacher wiederverwenden zu können.
FAQ: Häufige Fragen
1. Wie kann ich den Dateinamen aus einer Zelle auslesen?
Du kannst den Dateinamen in eine Zelle eingeben und dann die VBA-Funktion anpassen, um auf diese Zelle zuzugreifen.
2. Funktioniert dieser Ansatz in allen Excel-Versionen?
Die hier beschriebenen VBA-Funktionen sind in den meisten gängigen Excel-Versionen verfügbar, jedoch kann die Verfügbarkeit der Split
-Funktion je nach Version variieren.