Ich verbeuge mich ehrfürchtig und sehe ein, es liegt an meiner Beschreibung, dennoch scheint der Fehler daran zu liegen, dass manchmal eben in der MItte ein Buchstabe eingetragen ist und manchmal nicht, ich habe es probiert. Folgende Variante funktioniert, allerdings nur, wenn ein Buchstabe dazwischen ist, in folgendem Format:
ABC1234__A__B_Text <<-- 13 Stelle ist B
.Pattern = "([^\\\_]+?(\d+))_+([^\\\_]+)_+(.+)"
....
fi.Status = .Item(0).Submatches(3)
Ergebnis: Immer, wenn an zehnter Stelle ein Buchstabe steht, dann erfolgt eine Ausgabe in der richtigen Zelle in Excel
Bei Ordner, die wie folgt Formatiert sind, erhalte ich keine Ausgabe in Excel:
ABC0012_____h_Infotext mit unterschiedlicher Länge <<-- 13 Stelle ist h
Alle anderen Varianten, führen zu keiner Ausgabe in Excel:
.Pattern = "([^\\_]+?(\d+))_.+$"
.....
fi.Status = Mid$(.Item(0).Value, 13, 1)
ODER
.Pattern = "([^\\_]+?(\d+))_+([^\\_]+)_+([^\\_]+)_+(.+)"
.....
fi.Status = .Item(0).Submatches(3)
ODER
.Pattern = "([^\\_]+?(\d+))_+([^\\_]+)_+(.+)"
.....
fi.Status = .Item(0).Submatches(2)
Ich finde das Makro genial, es ist bestimmt nur eine Kleinigkeit, um auch eine Ausgabe in beiden Fällen zu erwirken, wenn kein Buchstabe dazwischen steht und wenn einer dazwischen steht
ABC1234__A__B_Text UND ABC1234_____B_Text mögen bitte zu einer Ausgabe in den jeweiligen Zellen der Spalte E führen
|