.find langsam
Heinzs
mit folgendem Code suche ich Einträge in einem anderen Sheet. Aktuelles Sheet hat 50000 Zeilen, Sheet OPs aktuell hat 40.000 Zeilen.
Die Sucherei dauert mehr als 1 h, gibt es Verbesserungsmöglichkeit?
e1 = 50000
Application.ScreenUpdating = false
For i1 = 2 To e1
Sheets("OPs aktuell").Select
If i1 Mod 100 = 0 Or i1 = e1 Then
Application.StatusBar = "OP Listennr. ermitteln, Datensatz " & Format(i1, "0000000") & " von " & Format(e1, "0000000") & " Endzeit = " & Anfangszeit1 + (Now() - Anfangszeit1) / i1 * e1
DoEvents
End If
gn_belegnr = Cells(i1, 9)
'Listennr, Listenhistorie, Übertragunsdatum ermitteln
Sheets("Protokolldaten").Select
gn_liste = ""
gn_listenhistorie = ""
gn_uebertragungsdatum = ""
With Range("e:e")
Set c = .Find(gn_belegnr, LookIn:=xlValues)
If Not c Is Nothing Then
y = c.row
gn_liste = Cells(y, 3)
gn_listenhistorie = Cells(y, 8)
gn_uebertragungsdatum = Cells(y, 4)
Sheets("OPs aktuell").Select
Cells(i1, 25) = gn_liste
Cells(i1, 26) = gn_listenhistorie
Cells(i1, 27) = gn_uebertragungsdatum
End If
End With
Next i1
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
Danke für Hilfe!
MfG Heinz