Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Suchfunktion beschleunigen

Forumthread: 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
Anzeige

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
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige