ich habe ein geschwindigkeitsproblem mit einer suchroutine, die ich nicht nachvollziehen kann.
folgende suchroutine (aus dem Archiv) sucht in einer tabelle mit bis zu 30000 einträgen in einer
spalte nach einer bestimmten zahl, und springt dann in diese zeile.
Sub suchen()
Dim rng As Range
Dim sSearch As Double
sSearch = InputBox(prompt:="Suchbegriff", Default:="30207")
Set rng = Columns(1).Find( what:=sSearch, lookat:=xlWhole, LookIn:=xlValues)
If rng Is Nothing Then
MsgBox prompt:="Suchbegriff wurde nicht gefunden!"
Else
Application.Goto rng, Scroll:=True
End If
End sub
in einer excel-mappe sind nun zwei tabellenblätter angelegt, mit der gleichen anzahl von einträgen.
nun kommt das seltsame. In einem blatt ist die suchgeschwindigkeit sehr viel höher als im anderen.
deshalb habe ich zu testzwecken eine neue tabelle mit nur einer spalte mit eintägen angelegt.
Dort wird der eintrag sehr schnell gefunden.
kopiere ich nun eine spalte mit vielen "bedingte formatierungen" oder formeln irgendwo in diese tabelle,
sinkt die suchgeschwindigkeit rapide ab, obwohl dort nicht gesucht wird.
wenn man die eingefügten spalten wieder löscht, läuft die suche immer noch sehr langsam,
bis man ein neue tabelle anlegt !!!
ich wäre sehr dankbar wenn mir einer weiterhelfen könnte.
vielleicht weiss einer wie die find-routine genau arbeitet ?
Jörg