Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Tabellen vergleichen

Tabellen vergleichen
26.05.2008 18:40:24
Felix
Hallo,
ich habe mal eine Frage. Ich habe zwei Spalten in einer sind ca. 13000 Namen, in der anderen 4000 Namen. Ich möchte jetzt hingehen und hinter jeden der 4000 Namen eine 1 machen, wenn er auch in der 13000er Liste ist, ansonsten eine 0.
Das Ganze würde ich gerne in VBA-Format machen. Ich habe es mit folgendem Ansatz probiert. Das Ganze klappt aber nicht wirklich und ist sehr kompliziert "programmiert". Kann mir einer helfen?

Sub testx()
Dim eingabe(13000) As Variant
Dim ausgabe(4000) As Variant
Set beg = Cells(1, 1)
ninput = Cells(1, 1).CurrentRegion.Cells.Count
noutput = Cells(1, 2).CurrentRegion.Cells.Count
'Einlesen der Werte in Array
For i = 1 To ninput
eingabe(i) = beg.Offset(i - 1, 0).Value
Next
For i = 1 To noutput
ausgabe(i) = Cells(1, 6).Offset(i - 1, 0).Value
Next
' Vergleich der Arrays
For i = 1 To noutput
For a = 1 To ninput
If ausgabe(i) = eingabe(a) Then Cells(i, 3).Value = 1
End
Next
Next
End Sub


Wie kann ich es vor allem erreichen, dass ich bei den Arrays nicht vorher definieren muss, wie lang die sind? Das ist ja relativ unflexibel.
Vielen Dank
Felix

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen
26.05.2008 19:10:00
Rudi
Hallo,
dafür reicht doch eine Formel!
in C2: =(Zählenwenn(A:A;B2)>0)*1
und runterkopieren.
Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

AW: Tabellen vergleichen
26.05.2008 19:18:00
Felix
Hallo Rudi,
ja, das weiß ich. Ich brauche das Ganze aber nach Möglichkeit in VBA. Kannst Du mir da auch helfen?
Gruß
Felix

AW: Tabellen vergleichen
26.05.2008 19:40:38
Rudi
Hallo,
ja, kann ich.

Sub testx()
Dim vntNamenLang As Variant
Dim vntNamenKurz As Variant
Dim vntVergleich()
Dim i As Long
vntNamenLang = Columns(1).SpecialCells(xlCellTypeConstants)
vntNamenKurz = Columns(2).SpecialCells(xlCellTypeConstants)
ReDim vntVergleich(1 To UBound(vntNamenKurz), 1 To 1)
For i = 1 To UBound(vntNamenKurz)
vntVergleich(i, 1) = _
(Not IsError(Application.Match(vntNamenKurz(i, 1), vntNamenLang, 0))) * -1
Next i
Cells(1, 3).Resize(UBound(vntNamenKurz)) = vntVergleich
End Sub


Gruß
Rudi
Eine Kuh mach muh, viele Kühe machen Mühe.

Anzeige
AW: Tabellen vergleichen
27.05.2008 07:09:00
Felix
Danke! Das ist genau was ich haben wollte!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige