Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1340to1344
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

Das Zeilenweise abfragen schneller machen

Das Zeilenweise abfragen schneller machen
31.12.2013 13:51:35
Golem
Hallo Excel-Fachleute,
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 vergleichen
und 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

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Das Zeilenweise abfragen schneller machen
31.12.2013 18:13:15
Raphael
Hallo Werner,
ich bin nicht sicher warum du die Ganze Sache mit einer Schleife löst die immer wieder eine Formel in die Zelle schreibt.
Viel einfacher und effizienter wäre es die Datei kurz zu öffnen, deren Inhalt in ein Array zu schreiben und dann das Array mit dem Wert (den du auch in eine Variable eingelesen hast) zu vergleichen.
Das dürfte vieeeeeel schneller sein als deine aktuelle Lösung.
Gruess
Raphael

AW: Das Zeilenweise abfragen schneller machen
31.12.2013 18:35:54
Golem
Hallo Raphael,
jetzt wo Du es mir vorschlägst stelle ich fest, wie elegant dieser Weg ist. Solch eine Idee ist mir nicht eingefallen.
Sicherlich wird dieser Vorschlag viel schneller sein.
Es ist mir schon gelegentlich aufgefallen, dass ich mich mit der Denkweise der Excel-Fachleute schwer tue.
Ich werde Deinen Vorschlag umsetzen und wieder berichten.
Schöne Grüße und ein gutes, gesundes Jahr 2014
Werner
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige