hilfe bei einer schleife
28.03.2016 21:33:54
Thomas
ich habe folgende schleife gefunden
Dim iRow As Integer
iRow = 1
Do Until iRow iRow = lvw_Search(ListView1, text1, iRow)
If iRow > 0 Then
' Eintrag gefunden
MsgBox "Gefunden in Zeile: " & CStr(iRow + 1)
End If
Loop
leider ist dies irgendwie eine schleife die sich im endlosverfahren befindet.
Ich möchte gern das sie das listview durchgeht und am ende alle fundorte in die msgbox schreibt. Hinter dieser schleife befindet sich die untenstehende funktion.
Ich weiss das dies womöglich nicht hierhergehört aber vielleicht weiß doch jemand ein rat für mich.
habt schon mal recht vielen dank für die hilfe im voraus.
liebe grüsse thomas
' Volltext-Suche im ListView
' Rückgabe: Index (Zeile) der Fundstelle
Public Function lvw_Search(lvw As ListView, _
ByVal sText As String, _
Optional ByVal lStartRow As Integer = 1) As Integer
Dim itemX As ListItem
Dim i As Integer
Dim u As Integer
Dim iRow As Integer
' Groß-/Kleinschreibung ignorieren
sText = LCase$(sText)
For i = lStartRow To lvw.ListItems.Count
Set itemX = lvw.ListItems(i)
With itemX
If InStr(LCase$(.Text), sText) > 0 Then
' Gefunden in der Text-Eigenschaft
iRow = i: Exit For
Else
' SubItems durchsuchen
For u = 1 To lvw.ColumnHeaders.Count - 1
If InStr(LCase$(.SubItems(u)), sText) > 0 Then
' Gefunden in einem der SubItems
iRow = i: Exit For
End If
Next u
End If
End With
Next i
lvw_Search = iRow
End Function