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

Einträge in zwei Spalten mit VBA vergleichen

Einträge in zwei Spalten mit VBA vergleichen
03.06.2015 10:57:56
neptunhiker
Hallo,
ich würde gerne Einträge in zwei Spalten auf Gleichheit mit VBA überprüfen. Als Beispiel: Spalte A enthält 200 Zellen mit Zufallszahlen (bspw. =ZUFALLSBEREICH(1;50)) und Spalte B enthält 240 Zellen mit Zufallszahlen (bspw. ebenso =ZUFALLSBEREICH(1;50)). Jetzt würde ich gerne mit VBA ein Makro schreiben, dass die beiden Spalten durchgeht und im Ergebnis anzeigt, wie viele Werte in Spalte A auch in Spalte B zu finden sind. Dazu habe ich zwei Ideen, die aber mit meinen realen Daten (mehr als 30.000 Einträge pro Spalte) wahrscheinlich zu langsam wären:
1.) über die worksheetfunction sverweis (also vlookup)
2.) mit einer Schleife, die einfach nach und nach jeden Eintrag in Spalte A durchgeht und überprüft, ob ein solcher auch in Spalte B besteht. Falls ja, dann counter=counter+1, also einfach einen Zähler erhöhen.
Wie gesagt, beide Varianten sind sehr langsam. Gibt es vielleicht eine bessere Lösung. Vielen Dank schon mal. Ich freue mich auf Ideen.
Viele Grüße

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

Betreff
Datum
Anwender
Anzeige
AW: Einträge in zwei Spalten mit VBA vergleichen
03.06.2015 11:18:31
Rudi
Hallo,
Duplikate in A/B auch mehrfach zählen?
Gruß
Rudi

AW: Einträge in zwei Spalten mit VBA vergleichen
03.06.2015 11:31:47
neptunhiker
Hallo Rudi,
vielen Dank für die gute Nachfrage. Du hast vollkommen recht, denn bei ZUFALLSBEREICH(1;50) wird es viele Duplikate geben. In meiner Originaldatei wird es in den Spalten jeden Wert jeweils nur einmal geben, daher ist die Duplikateproblematik für mich letztlich nicht relevant. Grundsätzlich geht es mir ja nur darum, herauszufinden, ob ein Wert in A auch in B besteht. In diesem Sinne müssten auch Duplikate nicht mehrfach gezählt werden.
Viele Grüße

AW: Einträge in zwei Spalten mit VBA vergleichen
03.06.2015 12:54:55
Rudi
Hallo,
Sub aaa()
Dim arrA, arrB, i As Long, oDic As Object, c As Long
arrA = Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
arrB = Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp))
Set oDic = CreateObject("scripting.dictionary")
For i = 1 To UBound(arrB)
oDic(arrB(i, 1)) = 0
Next
For i = 1 To UBound(arrA)
If oDic.exists(arrA(i, 1)) Then c = c + 1
Next
MsgBox c
End Sub

Gruß
Rudi
Anzeige

10 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige