Herbers Excel-Forum - das Archiv
Tabellen vergleichen-doppelte in Tabelle3
Betrifft: Tabellen vergleichen-doppelte in Tabelle3
von: Burghard
Geschrieben am: 22.02.2005 22:20:57
Hallo,
suche dringend nach Hilfe. Leider konnte ich bisher keine passende Lösung für mein Problem finden.
Ich habe in einer Excel-Mappe (Excel 2000) in Tabelle1 und in Tabelle2 jeweils in der Spalte A Nummern stehen, die Nummern sind zum Teil identisch, in den Spalten rechts neben Spalte A stehen noch andere Daten.
Ich möchte jetzt die Werte der Spalte A der Tabelle2 mit den Werten der Spalte A der Tabelle1 vergleichen.
Wenn der Wert gleich ist, soll die entsprechende ganze Zeile von Tabelle1 in eine neue Tabelle 3 ausgegeben werden, so daß sich am Ende alle doppelten Werte (ganze Zeilen) aus der Tabelle1 in der Tabelle3 befinden.
Würde das Ganze gerne in VBA haben. :-)
Any help available?
Gruß,
Burghard
Betrifft: AW: Tabellen vergleichen-doppelte in Tabelle3
von: Josef Ehrensberger
Geschrieben am: 22.02.2005 22:34:53
Hallo Burhard!
Sollte es tun!
Sub von1nach3wennIn2()
Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
Dim rng As Range, rFind As Range
Dim lastRow As Long, lrow As Long
Dim sFirst As String
Set wks1 = Sheets("Tabelle1")
Set wks2 = Sheets("Tabelle2")
Set wks3 = Sheets("Tabelle3")
lastRow = IIf(wks2.Range("A65536") <> "", 65536, _
wks2.Range("A65536").End(xlUp).Row)
For Each rng In wks2.Range("A1:A" & lastRow)
Set rFind = wks1.Range("A:A").Find(what:=rng, LookIn:=xlValues, lookat:=xlWhole)
If Not rFind Is Nothing Then
sFirst = rFind.Address
Do
lrow = lrow + 1
rFind.EntireRow.Copy wks3.Cells(lrow, 1)
Set rFind = wks1.Range("A:A").FindNext(rFind)
Loop While sFirst <> rFind.Address
End If
sFirst = vbNullString
Set rFind = Nothing
Next
End Sub
Code eingefügt mit
Syntaxhighlighter 3.0
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Betrifft: AW: Tabellen vergleichen-doppelte in Tabelle3
von: Burghard
Geschrieben am: 23.02.2005 13:14:25
Hallo Sepp,
toll, super!!!! Vielen Dank für die schnelle Hilfe!
Alles genauso, wie erhofft. Klasse!
Tausend Dank!!!!!!!!!!!!!! :-)
Burghard