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

Forumthread: Teile des Dateinamens auslesen und in Sheet kopieren

Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:23:55
addi23
Hallo Zusammen,
ich habe eben hier guten Support bekommen, allerdings schließt sich ein Folgeproblem an.
Mit folgendem Coding stelle ich mir Tabellenblätter aus mehreren Dateien zusammen, die ich anschließend in einer Tabelle zusammenführe:

arrDateien = Application.GetOpenFilename(filefilter:="Excel-Dateien (*.xls*), *.xls*", MultiSelect:=True)

If IsArray(arrDateien) Then
For cntDatei = 1 To UBound(arrDateien)
Set wbQuelle = Workbooks.Open(Filename:=arrDateien(cntDatei), UpdateLinks:=False, ReadOnly:=True)
For Each sh In wbQuelle.Worksheets
If sh.Name Like "OPC*" Then
sh.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
End If
Next sh
wbQuelle.Close savechanges:=False
ActiveSheet.Name = "Beleg" & cntDatei
Next cntDatei
End If

Das Problem ist das in den einzelnen Tabellen aus den unterschiedlichen Dateien eine Information fehlt. Diese Information steht aber im jeweiligen Dateinamen.
Um genau zu sein die Information fängt immer an der 13ten Stelle des Dateinnamens an und der 14nt letzten Stelle des Namens auf.
Gibt es eine Möglichkeit innerhalb des o.g. Codings diesen Teil des Namens noch in das angesprochene Tabellenblatt zu schreiben?
Am liebsten in jede beschriebene Zeile einmal z.B. in Spalte A? Oder ggf. nur ein eine definierte Zelle z.B. "K1"?

Ich hoffe ihr versteht meine Umschreibung...
Vielen Dank und Gruß
addi23
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:34:35
Onur
"14nt letzten Stelle" ? Meinst du die 14. Stelle oder die 14. Stelle vom Ende gezählt?
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:38:55
addi23
Hallo Onur,

ich meinte damit das die Information an der 13ten Stelle beginnt und das dahinter bis zum Dateinamensende noch 14 Stellen kommen.

Vielen Dank und Gruß
addi23
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:41:48
Onur
Also
Mid(Name$;13;14)
???
Wieviele Stellen hat denn das Textstück, das du willst?
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:44:41
addi23
Hallo Onur,
das Textstück ist variabel - man könnte es so ausdrücken das die Länge des Textstückes die Gesamtlänge des Namens -13-14 wäre...
VG
addi23
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:46:00
Onur
=Mid(Replace(A$;Right(A$;14);"");13;999)
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:57:46
Onur
Das hier z.B. (A$ ist der Dateiname)
Range("A3") = Mid(Left(A$, Len(A$) - 14), 13, 999)
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:37:17
Beverly
Hi,

benutze Mid - nach diesem Prinzip:

Mid(wbQuelle.Name, 13, 1)


Mid hat folgende Parameter Mid(wb.Name, Startposition, Anzahl Zeichen)

Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 12:18:57
volti
Hallo,

ich habe es jetzt so verstanden...
Range("$A$3").Value = Mid$(arrDateien(cntDatei), 13, Len(arrDateien(cntDatei)) - 26)


Gruß Karl-Heinz
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 12:58:45
addi23
Hallo an alle Zusammen,
vielen lieben Dank für Eure Hilfe - ich habe es soweit hinbekommen das ich die relevante Textpassage in einer Zelle hinterlegen kann.
Wie ich diese Information nun weiterverarbeite hoffe ich alleine hin zu bekommen.
Nochmal danke für die rege Beteiligung!!!!!
Viele Grüße
addi23
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 13:00:17
Onur
Du solltest noch für die Nachwelt niederschreiben, WIE du das hinbekommen hast. :)
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 11:42:55
addi23
Hallo Karin,
demnach müsste ich ja die Länge der Information mitgeben, die ist aber variabel...was aber fix ist das hinter der Information noch fixe 14 Stellen im Namen kommen.
Damit hätte ich allerdings nur ein Teil des Problems gelöst - schwieriger ist es dann auch für mich das dann auch in das bestehende Coding zu integrieren...
Vielen Dank auch für Deine Hilfe
addi23
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 12:36:33
Beverly
Hi,

verstehe ich dich richtig:

1. die Information beginnt immer an der 13. Stelle
2. die Information ist unterschiedlich lang, aber nach der Information stehen immer 14 weitere Zeichen

Eventuell so:

Mid(wbQuelle.Name, 13, Len(wbQuelle.Name) - 14)


Sind bei den 14 Zeichen auch der Punkt und der Dateityp im Dateinamen inklusive oder ohne gerechnet? Das musst du dann entsprechend anpassen.

Integrieren kannst du das Ganze in deinen Code dann so (alles ungetestet):

If sh.Name Like "OPC*" Then

sh.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count).Range("K1") = Mid(wbQuelle.Name, 13, Len(wbQuelle.Name) - 14)
End If


Bis später
Karin

Link zur Homepage: https://excel-inn.de/
Anzeige
AW: Teile des Dateinamens auslesen und in Sheet kopieren
12.06.2024 12:44:37
Onur
Er meint, er braucht alles zwischen der 13ten Stelle und der 14ten Stelle von HINTEN.
Wenn der Text 40 Stellen hätte: Alles zwischen der 13ten und der 26ten Stelle.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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