Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text durchsuchen und Ergebnisse herauskopieren

Text durchsuchen und Ergebnisse herauskopieren
18.03.2009 11:09:52
Andy
Schönen guten Tag!
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

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text durchsuchen und Ergebnisse herauskopieren
18.03.2009 12:35:59
Beverly
Hi Andy,
versuche es mal auf diesem Weg:

Dim inSpalte As Integer
Dim strText As String
strText = Range("A1")
inSpalte = 2
Do
If InStr(strText, "[") > 0 Then
Cells(1, inSpalte) = Mid(strText, InStr(strText, "["), 2)
strText = Mid(strText, InStr(strText, "[") + 1)
inSpalte = inSpalte + 1
End If
Loop While InStr(strText, "[") > 0




Anzeige

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige