Teil eines Excel-Dateinamen in eine Zelle übernehmen
Betrifft Excel 2003
Hallo,
ich stehe vor folgendem Problem:
Ich habe eine Excel-Datei mit folgendem Dateinamen (nur eine von mehreren) "010508_Bauteilname.xls" der erste Teil der Datei ist fortlaufend für alle Tage eines Monats im Format "ttmmjj".
Ich würde nun gerne beim Öffnen der Datei in die Zeille A7 gerne automatisch den Datumsteil vor dem "_" als Datum in die genannte Zelle eintragen lassen.
Kann mir hier jemand behilflich sein?
Gruß,
rentier
Hallo,
ich stehe vor folgendem Problem:
Ich habe eine Excel-Datei mit folgendem Dateinamen (nur eine von mehreren) "010508_Bauteilname.xls" der erste Teil der Datei ist fortlaufend für alle Tage eines Monats im Format "ttmmjj".
Ich würde nun gerne beim Öffnen der Datei in die Zeille A7 gerne automatisch den Datumsteil vor dem "_" als Datum in die genannte Zelle eintragen lassen.
Kann mir hier jemand behilflich sein?
Gruß,
rentier
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 87386
Url: https://administrator.de/forum/teil-eines-excel-dateinamen-in-eine-zelle-uebernehmen-87386.html
Ausgedruckt am: 16.02.2025 um 19:02 Uhr
5 Kommentare
Neuester Kommentar
Grüß Dich rentier,
wahrscheinlich würde ich das ganze in eine Funktion auslagern:
Im Workbook_Open() Event dann aufrufen:
BG, Felix -misterdemeanor-
wahrscheinlich würde ich das ganze in eine Funktion auslagern:
Public Function GetDateFromFileName(ByVal strFileName As String) As Date
Dim d As Date
Dim strDate As String
If InStr(1, strFileName, "\") Then
strFileName = Mid(strFileName, InStrRev(strFileName, "\") + 1)
End If
strDate = Left(strFileName, InStr(1, strFileName, "_") - 1)
d = DateSerial(Right(strDate, 2), Mid(strDate, 3, 2), Left(strDate, 2))
GetDateFromFileName = d
End Function
Im Workbook_Open() Event dann aufrufen:
Me.Worksheets("Tabelle1").Range("A7").Value = GetDateFromFileName(Me.FullName)
BG, Felix -misterdemeanor-
Moin rentner,
falls Du es mit dem mitgelieferten Excelfunktionen machen willst, dann trage in die Zeile A7 diese Formel ein:
Sieht mit eingedeutschen Funktionsnamen zwar ausgesprochen deppert aus, tut es aber zu Not.
Kurzerläuterung:
Damit hast Du bis jetzt natürlich nur die ersten 6 Zeichen "100508" dort stehen.
Wenn Du daraus ein Datum machen willst, solltest Du
Grüße
Biber
falls Du es mit dem mitgelieferten Excelfunktionen machen willst, dann trage in die Zeile A7 diese Formel ein:
=TEIL(ZELLE("Dateiname");FINDEN("[";ZELLE("Dateiname"))+1;6)
Sieht mit eingedeutschen Funktionsnamen zwar ausgesprochen deppert aus, tut es aber zu Not.
Kurzerläuterung:
- Zelle() ist eine angebliche Kompatibilitätsfunktion, die seit Excel-Version 3.0b besser niemand anfassen soll. Die wird es auch noch 2019 geben.
- der Parameter "Dateiname" (wirklich genau dieser Text in Anführungszeichen liefert Pfad und Dateinamen in der Form "d:\temp\[100508_blablubb.xls]Tabelle1
- Mit FINDEN suche ich das erste "["-Zeichen und hole die nächsten 6 Zeichen mit der TEIL( text, start, len)-Funktion.
Damit hast Du bis jetzt natürlich nur die ersten 6 Zeichen "100508" dort stehen.
Wenn Du daraus ein Datum machen willst, solltest Du
- in einem nicht störenden Feld (Z.B. AJ3) die Formel oben hinterlegen
- und diese 6 Zeichen noch mal mit der Teil()-Funktion aufhübschen
- oder aus den ersten 3x2-Datumsteile TTMMJJ mit der Funktion DATUM(zahl Jahr; zahl Monat; zahl tach) ein Datum erzeugen.
Grüße
Biber
@Biber
![face-wink face-wink](/images/icons/fa/light/face-laugh-wink.svg)
Grüße
bastla
Sieht mit eingedeutschen Funktionsnamen zwar ausgesprochen deppert aus ...
Wie würdest Du denn dann die dynamische (bringt zwar hier ohnehin nicht wirklich etwas) Variante "Teil des Dateinamens bis unmittelbar vor dem (hoffentlich enthaltenen) ersten _" kommentieren? =TEIL(ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname"))+1;SUCHEN("_";ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname")))-1-SUCHEN("[";ZELLE("Dateiname")))
Grüße
bastla
@bastla
Du wirst lachen - meine erste angetestete Version, die gleich ein Datum aus dem Dateinamen machen sollte, fühlte sich in etwa so an:
Ich denke, das ist selbst für ausgesprochene Liebhaber von Onelinern ein bisschen neben der Spur.
Funktonieren würde es ("sinnvoller" Dateiname unterstellt), aber das sieht doch wie mit dem Kopf auf die Tastatur aufgeschlagen, oder?
Grüße
Biber
Du wirst lachen - meine erste angetestete Version, die gleich ein Datum aus dem Dateinamen machen sollte, fühlte sich in etwa so an:
=DATUM(2000+WERT(TEIL(TEIL(ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname"))+1;SUCHEN("_";ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname")))-1-SUCHEN("[";ZELLE("Dateiname")));5;2));WERT(TEIL(TEIL(ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname"))+1;SUCHEN("_";ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname")))-1-SUCHEN("[";ZELLE("Dateiname")));3;2));WERT(TEIL(TEIL(ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname"))+1;SUCHEN("_";ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname")))-1-SUCHEN("[";ZELLE("Dateiname")));1;2)))
Ich denke, das ist selbst für ausgesprochene Liebhaber von Onelinern ein bisschen neben der Spur.
Funktonieren würde es ("sinnvoller" Dateiname unterstellt), aber das sieht doch wie mit dem Kopf auf die Tastatur aufgeschlagen, oder?
Grüße
Biber