mit dem nachfolgenden Code, lese ich aus einer geschlossenen Datei ( Spalte "D" ) von Zeile 2 bis Zeile 500
die jeweiligen Zellinhalte aus. Diese Zellinhalte werden nacheinander in der geöffneten Datei in Zelle "AJ20" geschrieben ( Cells(20, 36) ) und mit einen Zellinhalt der Zelle "AC2" verglichen.( Cells(20, 36) ).
Wenn beide Zellinhalte gleich sind, ist der Vorgang beendet.
Dieser Code funktioniert recht langsam und bei einer Anzahl von Auslesezeile ab ca. 2000, hängt er sich auf.
Sub Test1()
Dim strPathName As String * 255
Dim myString As String
Dim strName As String
Dim Zelle As String
Dim lngTMP As Long
Dim i As Integer
For i = 2 To 500
Zelle = "D" & i
myString = ActiveWorkbook.Path & "\Weitere Dateien\"
Const strFile As String = "Kontodaten.xlsx"
Const strSheetQ As String = "BLZ_BIC"
Zelle = "D" & i
lngTMP = SearchTreeForFile(myString, strFile, strPathName)
strPathName = Left$(strPathName, _
InStr(1, strPathName, vbNullChar) - 1)
strName = RTrim(strPathName)
With Tabelle4.Cells(20, 36)
.Formula = "='" & Mid(strName, 1, _
InStrRev(strName, "\")) & "[" & _
Mid(strName, InStrRev(strName, "\") + 1) & "]" & _
strSheetQ & "'!" & Zelle
.Value = .Value
End With
If Tabelle4.Cells(20, 36) = Tabelle4.Cells(2, 29) Then Exit Sub
Next
End Sub
Meine Frage ist, wie der Code geändert werden kann, um auch eine Anzahl von Zeilen > 5000 zu vergleichenund das auch mit höherer Geschwindigkeit.
Meine VBA-Kenntnisse sind nicht so umfangreich, um das ohne Hilfe umzusetzen.
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Werner