Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1528to1532
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

VBA: 2 Arrays vergleichen

VBA: 2 Arrays vergleichen
15.12.2016 10:08:36
Sven
Hallo Zusammen,
ich stehe aktuell vor folgendem Problem. Ich habe 2 Arrays die sich wie folgt gestalten:
array1 = ("Apfel", "Banane", "Cranberrys", "Datteln", "Erdbeeren", "Feigen", usw...")
array2 = ("Feigen", "Apfel", "Erdbeeren", "Cranberrys", "Datteln", usw...")

Nun möchte ich prüfen, an welchem Index ein Wert aus Array1 in Array2 steht.
z.B.:
Feigen befindet sich in array1 unter Index 5(array1(5)) und in array2 unter Index 0 (array2(0))
Banane befindet sich in array1 unter Index 5 und ist nicht in array2 enthalten.
Aktuell durchlaufe ich beide Arrays mit einer Schleife:
for i = lbound(array1) to ubound(array1)
for j = lbound(array2) to ubound(array2)
if array(i) = array(j) then
x = "gefunden"
exit for
else
x = "nicht gefunden"
end if
next
next

Da sich in beiden Arrays jedoch ein Datenpool von ca. 40000 Sätzen befinden können, ist die Schleifenlösung seh zeitintensiv. Gibt es hier eine bessere bzw. schnellere Möglichkeit die Arrays zu analysieren?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: 2 Arrays vergleichen
15.12.2016 10:12:09
Sven
nochmals als Code formattiert:

for i = lbound(array1) to ubound(array1)
for j = lbound(array2) to ubound(array2)
if array(i) = array(j) then
x = "gefunden"
exit for
else
x = "nicht gefunden"
end if
next
next

AW: VBA: 2 Arrays vergleichen
15.12.2016 10:23:20
ChrisL
Hi Sven
Eine Idee...
Application.Match()
=VERGLEICH()
lässt sich auch auf ein Array anwenden.
cu Chris
AW: VBA: 2 Arrays vergleichen
15.12.2016 10:47:54
Sven
Boah, saustark! Getestet und funktioniert... Vielen Dank!

Sub x()
Dim a As Variant
Dim b As Variant
a = Array("A", "B", "C", "D", "E", "F", "G")
b = Array("F", "A", "E", "B", "C")
On Error Resume Next
MsgBox WorksheetFunction.Match(a(2), b, 0)
End Sub

Anzeige

8 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige