Dim arr As Variant
Dim v As Variant
Dim Zeichenkette As String
'*** eine repräsentative Variable deines Beispiels
Zeichenkette = "2727K76, 877H626, 12B13, B1, xxxxxx, yyyyyy, zzzzzz"
'*** splitte Zeichnekette anhand KOMMA und LEERZEICHEN in ein 1-dimensionales Array
arr = Split(Zeichenkette, ", ")
'*** durchsuche das 1D-Array und gib bei Fund Position zurück
v = Application.Match("B1", arr, 0) '*** Wenn kein Fund, dann bekommt v einen Fehlerwert zugewiesen
'*** Wenn kein Fehlerwert, dann haben wir die Position von "B1" im Array
If Not IsError(v) Then
MsgBox arr(v) '*** da die Variable v nun die Positionsnummer bereithält, könnte man so auf den Wert im Array zugreifen
End If
Hinweis:
Wenn B1 doppelt vorkommen könnte, dann die Suche schleifen oder über .Find.
Noch besser, über SQL. Aber das wäre unnötig hier.
|