Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
552to556
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
552to556
552to556
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Identische Einträge in zwei Arrays ermitteln

Identische Einträge in zwei Arrays ermitteln
24.01.2005 14:14:48
Kai
Hi,
ich suche den schnellsten Weg, wie identische Einträge in zwei Arrays ermitteln kann. Ich weiss, wie ich das "per Hand" mache, indem ich jeweils einzeln durchgehe, aber da dieser Teil der zeitaufwändigste bei mir ist, wollte ich wissen, ob Excel/VBA da schon eine Funktion dafür bereithält. Bisher konnte ich leider noch nichts finden.
Beispiel:
Im Array 1 steht 7 3 9 1
Im Array 2 steht 9 2 10 3 5 4
Als Ergebnis sollte dann die 2 rauskommen (3 und 9 sind beide drin).
Danke,
Kai

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

Betreff
Datum
Anwender
Anzeige
AW: Identische Einträge in zwei Arrays ermitteln
24.01.2005 14:28:10
Josef
Hallo Kai!
Probier mal.


      
Option Explicit
Sub vergleich()
Dim arr1 As Variant, arr2 As Variant
Dim n As Integer, m As Integer, i As Integer
arr1 = Array(7, 3, 9, 1)
arr2 = Array(9, 2, 10, 3, 5, 4)
   
For n = 0 To UBound(arr1)
      
For m = 0 To UBound(arr2)
         
If arr1(n) = arr2(m) Then i = i + 1
      
Next
   
Next
If i > 0 Then MsgBox i
End Sub 
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Identische Einträge in zwei Arrays ermitteln
24.01.2005 16:16:05
Kai
Danke, funktioniert einwandfrei. Ich hab mal gelesen, dass man nach Möglichkeit Exceleigene Funktionen bevorzugen soll, aber anscheinend gibts da nix in der Richtung, oder?
Auf jeden Fall vielen Dank
AW: Identische Einträge in zwei Arrays ermitteln
Reinhold
Hi,
eine Möglichkeit wäre, die Einträge von Array1 in eine Collection zu speichern mit Schlüssel z.B. "Key=" & Array1( i).
Anschließend kannst du die Einträge des 2. Array ebenfalls mit Schlüssel z.B. "Key=" & Array2( j) in dieselbe Collection versuchen hinzuzufügen. Wenn das Hinzufügen schief geht, weißt du, dass der Eintrag bereits im 1. String enthalten ist.
Statt den i.A. erforderlichen n*m/2 Operationen kommst du mit n+m (n .. Elemente von Array1, m .. Elemente von Array2) Operationen aus!
Das Hinzufügen von Elementen in eine Collection läuft ja sowieso i.A. "unendlich" schnell.
Grüße Reinhold
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige