Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Teil eines Excel-Dateinamen in eine Zelle übernehmen

Frage Microsoft Microsoft Office

Mitglied: rentier

rentier (Level 1) - Jetzt verbinden

11.05.2008, aktualisiert 12.05.2008, 20194 Aufrufe, 5 Kommentare

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
Mitglied: misterdemeanor
11.05.2008 um 16:43 Uhr
Grüß Dich rentier,

wahrscheinlich würde ich das ganze in eine Funktion auslagern:

01.
Public Function GetDateFromFileName(ByVal strFileName As String) As Date 
02.
  Dim d As Date 
03.
  Dim strDate As String 
04.
    If InStr(1, strFileName, "\") Then 
05.
      strFileName = Mid(strFileName, InStrRev(strFileName, "\") + 1) 
06.
    End If 
07.
    strDate = Left(strFileName, InStr(1, strFileName, "_") - 1) 
08.
    d = DateSerial(Right(strDate, 2), Mid(strDate, 3, 2), Left(strDate, 2)) 
09.
    GetDateFromFileName = d 
10.
End Function 
11.
 
Im Workbook_Open() Event dann aufrufen:

01.
Me.Worksheets("Tabelle1").Range("A7").Value = GetDateFromFileName(Me.FullName)
BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: Biber
11.05.2008 um 18:40 Uhr
Moin rentner,

falls Du es mit dem mitgelieferten Excelfunktionen machen willst, dann trage in die Zeile A7 diese Formel ein:
01.
 =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
Bitte warten ..
Mitglied: bastla
11.05.2008 um 19:01 Uhr
@Biber
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?
01.
=TEIL(ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname"))+1;SUCHEN("_";ZELLE("Dateiname");SUCHEN("[";ZELLE("Dateiname")))-1-SUCHEN("[";ZELLE("Dateiname")))
Grüße
bastla
Bitte warten ..
Mitglied: Biber
12.05.2008 um 01:28 Uhr
@bastla
Du wirst lachen - meine erste angetestete Version, die gleich ein Datum aus dem Dateinamen machen sollte, fühlte sich in etwa so an:
01.
=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
Bitte warten ..
Mitglied: rentier
12.05.2008 um 10:28 Uhr
Hallo nochmal,

vielen Dank für Eure superschnelle Hilfe, bin jetzt erst dazu gekommen Eure Antworten zu lesen. Werd sie im laufe des Tages ausprobieren.

Gruß,
rentier
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
C und C++
Dateien in Ordner kopieren anhand vom Teil eines Dateinamen (22)

Frage von onlyforu8373 zum Thema C und C ...

Batch & Shell
gelöst Dateien mit Teil des Dateinamen per Batch in Unterordner verschieben (14)

Frage von smitternacht zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...