Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1412to1416
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

Vergleich mittels Array

Vergleich mittels Array
10.03.2015 06:58:43
Enrico
Hallo zusammen
gleich zu beginn... ich bin Array Neuling.
Ich habe zwei Listen, eine mit 300.000 Datensätzen, die andere mit 1.000 Datensätzen. Ich muss nun jeden Wert der einen, mit jedem der anderen Liste Vergleichen. SVERWEIS hab ich probiert. Das funktioniert auch .... dauert aber.
Die Idee war nun das ganze durch die Arbeit mit Array zu beschleunigen. Habe mir dazu im Forum schon einige Sachen zusammen gesucht. Nun bekomme ich aber einen Fehler Überlauf ... Das schein wohl daran zu liegen das das Array 300.000 Datensätze enthält. Mein Versuch das in 10 Arrays mit je 30.000 Daten aufzusplitten funktioniert auch, aber dauert nun genau so lange, wie der SVERWEIS.
Hat jemand eine andere Idee wie ich hier vorgehen könnte ?
Danke
Sub ArrayVergleich()
Dim IntX As Integer, IntY As Integer
ArrayA1 = Sheets("Originaldaten").Range("A1:L300000").Value
ArrayB = Sheets("Tabelle4").Range("D1:D1000").Value
For IntX = LBound(ArrayA1) To UBound(ArrayA1)
For IntY = LBound(ArrayB) To UBound(ArrayB)
If ArrayA1(IntX, 1) = ArrayB(IntY, 1) Then ArrayB(IntY, 1) = ArrayA1(IntX, 10)
Next
Next
Sheets("Tabelle4").Range("H1:H1000") = ArrayB
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich mittels Array
10.03.2015 10:15:41
Enrico
Danke Hajo
Das funktioniert ganz gut, aber zeitlich ist es nicht wirklich besser als der Sverweis. Wäre das mit einem Array schneller möglich?

AW: Vergleich mittels Array
10.03.2015 10:17:27
Hajo_Zi
soweit ich mich erinnere arbeitet ein Beispiel auch mit einem Array.
Gruß Hajo

Überlauf
10.03.2015 10:42:27
Rudi
Hallo,
IntX as Long
Letztendlich sind das aber immer noch 300 Mio Schleifendurchläufe
Mir erschließt sich der Sinn nicht, vor allem weil du ArrayB tw. überschreibst.
Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige