Ich habe folgendes "Problem":
Im Feld A1 steht ein längerer Text, welcher nach mehreren bestimmten Ausdrücken(zB. "1]","2]","3]","4]") durchsucht werden soll. Immer wenn einer dieser Ausdrücke gefunden wird, soll der gefundene Ausdruck in das jeweils nächste leere Feld im Bereich B1:Z1 eingetragen werden. Wichtig ist dabei,dass die Ausdrücke entsprechend ihrer Reihenfolge im Text, in die Zellen B1 bis Z1 eingetragen werden.
Diese "Funktion" sollte jeweils bei einer Veränderung der Zelle A1 ausgeführt werden bzw. irgendwie ständig aktiv sein.
Gestern wurde mir bereits mit folgendem Code etwas weitergeholfen:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim vSuchwert As Variant
Dim iIndex As Integer
Dim iSpalte As Integer
Dim bGefunden As Boolean
vSuchwert = Array("[1", "[2", "[3", "[4")
If Target.Count > 1 Then Exit Sub
If Target.Address = "$A$1" Then
For iIndex = LBound(vSuchwert) To UBound(vSuchwert)
If InStr(Target.Value, vSuchwert(iIndex)) > 0 Then
For iSpalte = 2 To 26
If Trim(Cells(1, iSpalte).Value) = "" Then
bGefunden = True
Exit For
End If
Next iSpalte
If bGefunden = True Then
Cells(1, iSpalte).Value = vSuchwert(iIndex)
Else
MsgBox "Es sind alle Zellen ""B1:Z1"" belegt.", _
16, " Hinweis für " & Application.UserName
End If
End If
Next iIndex
End If
End Sub
Leider funktioniert das noch nicht so ganz wie ich es benötige. Zum einen werden die Einträge lediglich in ihrer alphabetischen Reihenfolge in die Felder B1 bis Z1 eingetragen und nicht in der Reihenfolge wie sie auftreten. Zum anderen werden alle einträge nur einmal eingetragen auch wenn sie häufiger vorkommen. Darüber hinaus werden bei einer Aktualisierung von A1 die gefunden Werte immer wieder hinten an die bereits eingetragenen Ausdrücke angefügt, dabei sollte die bereits vorhandenen eher überschrieben werden.
Tauchen also in A1 die zu suchenden Ausdrücke in der Reihenfolge [2, [3, [2, [1, [4 auf sollten diese auch beginnend bei B1 in der selben Reihenfolge eingetragen werden, im Moment ergibt es lediglich [1, [2, [3, [4 .
Wäre nett wenn mir da jemand weiterhelfen könnte.
Gruss,
Andy