Suchfunktion innerhalb einer Multiline-TextBox
23.06.2014 18:57:08
Martin
ich versuche gerade eine Suche innerhalb einer mehrzeilige TextBox durchzuführen, aber leider klappt es nicht wie gewünscht. Es soll (hier als Beispiel) das Wort "Zeile" gesucht und markiert werden. Auch das Weitersuchen soll möglich sein.
Vielleicht könntet ihr euch das mal ansehen und mir versuchen zu helfen. Die Datei habe ich vorbereitet: https://www.herber.de/bbs/user/91234.xls
Leider schaffe ich es nicht, dass die Treffer korrekt markiert werden:
Hier noch mein Code dazu:
Option Explicit
Private Sub CommandButton2_Click()
Call TxtBoxSearch("Zeile")
End Sub
Sub TxtBoxSearch(strSearch As String)
Dim lngSelPos As Long
Dim lngTreffer As Long
With TextBox1
'Aktuelle Markierung
lngSelPos = .SelStart + .SelLength
If lngSelPos = 0 Then lngSelPos = 1
'Treffer finden
lngTreffer = InStr(lngSelPos, .Value, strSearch)
If lngTreffer > 0 Then
.SetFocus
.SelStart = lngTreffer - 1
.SelLength = Len(strSearch)
End If
End With
End Sub
Private Sub UserForm_Initialize()
Dim i As Integer, strTextBox As String
For i = 1 To 300
If strTextBox = Empty Then
strTextBox = "Zeile " & i
Else
strTextBox = strTextBox & vbCrLf & "Zeile " & i
End If
Next
With TextBox1
.Text = strTextBox
.SelStart = 0
End With
End Sub
Vielen Dank für eure Unterstützung!MfG
Martin