Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1912to1916
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion beschleunigen

Suchfunktion beschleunigen
09.01.2023 10:38:08
Thomas
Hi,
ich habe eine Suchfunktion geschrieben und Markiere in einer Listview die Treffer farblich. Das ganze funktioniert auch erstmal. Die Listview hat etwas 200 Zeilen und 6 Spalten. Das ganze dauert mehrere Sekunden, abhängig davon, wie lange der Suchbegriff ist. Hat jemand Ideen, wie man den Code beschleunigen kann. Macht es vielleicht Sinn die Werte der Listview beim initialisieren auch in ein array zu schreiben, welches ich dann später durchsuche?

Sub ListviewSuche(meineListview As Listview, Wert As String)
Dim i As Integer
Dim j As Integer
Dim AnzahlZeilen As Integer
Dim AnzahlSoalten As Integer
AnzahlZeilen = meineListview.ListItems.Count
AnzahlSpalten = meineListview.ColumnHeaders.Count
For i = 1 To AnzahlZeilen
If InStr(meineListview.ListItems.Item(i).Text, Wert) Then
meineListview.ListItems(i).ForeColor = vbRed
Else
meineListview.ListItems(i).ForeColor = vbBlack
For j = 1 To AnzahlSpalten - 1
If InStr(meineListview.ListItems(i).SubItems(j), Wert) Then
meineListview.ListItems.Item(i).ListSubItems(j).ForeColor = vbRed
Else
meineListview.ListItems.Item(i).ListSubItems(j).ForeColor = vbBlack
End If
Next j
End If
Next
End Sub

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchfunktion beschleunigen
09.01.2023 13:08:04
Alwin
Hallo Thomas,
bei eingeschalteter Sortierfunktion laufen selbst Arrays schleppend.
Du musst am Anfang ListView1.Sorted = False setzen und am Ende der Prozedur das Sortieren wieder einschalten.
Anbei mal ein Beispiel, wo alles via Array incl. einigermaßen ausgebaute Suchfunktion läuft.
https://www.herber.de/bbs/user/157173.xlsm
Gruß Uwe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige