Hier mal eine...
14.08.2024 18:14:46
Case
Moin Achim, :-)
Alternative mit Power Query aka Daten abrufen und transformieren: ;-)
let
Quelle =Table.FromRows({{"Umstellung auf H9, xyz0001_Umstellung Phase 1"},
{"Monitoring_Anbausatz_Messe, Fokus abc, abc0013_Monitoring Messe 2024"},
{"Anfrage_xyz, xyz0019_neue Ausführung_ P1: Ideenfindung"},
{"Monitoring_Anbausatz_Messe, Fokus abc, abc0015_Monitoring, xyz0019_Messe 2024"}},
{"Daten"}),
Hinzu = Table.AddColumn(Quelle, "Extrahiert", each let
Suche = {"xyz", "abc"},
GetCode = (text as text) as list =>
List.Transform(Suche,
each try
let
StartPos = Text.PositionOf(text, ", " & _),
Code = if StartPos > -1 then Text.Middle(text, StartPos -3 + Text.Length(", " & _), 7) else null
in
Code
otherwise null),
Result = GetCode([Daten])
in
Result),
Ext = Table.TransformColumns(Hinzu, {"Extrahiert", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
Ext
Du machst folgendes:
Neue Datei.
Daten - Daten abrufen und transformieren - Daten abrufen - Aus anderen Quellen - Leere Abfrage.
Klicke auf Erweiterter Editor.
Alles markieren und löschen.
Dann den Code von oben reinkopieren.
Fertig klicken.
Dann Schließen & laden - Schließen und laden in...
Da wählst du das Tabellenblatt (neues oder bestehendes) und die Zelle.
OK.
Das ist jetzt nur zum demonstrieren. Sonst nimmst du deine kompletten Daten. Da geht man etwas anders vor. Auch die Aufteilung ist nur ein Beispiel. Lässt sich in jeder erdenklichen Richtung anpassen.
Wenn du erst nach ca. einer Woche oder länger antworten kannst, dann machst du ein neues Thema auf und verweist mit einem Link auf diesen hier:
https://www.herber.de/forum/archiv/1984to1988/1987957_Wert_aus_Wertebereich_in_Spalte_suchen_und_ausgeben_VBA.html
Und schade, dass ihr noch kein "REGEXEXTRACT" habt:
=REGEXEXTRACT(A2;"xyz\d{4}+|abc\d{4}+";1)
Servus
Case