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

Tabellen vergleichen

Tabellen vergleichen
24.02.2005 19:15:52
Klaus
Hallo,
ich habe dieses schöne Makro bei euch gefunden.
Ich bräuchte nur eine kleine Änderung.
Schreibe alle !nicht! gefundenen Zeilen in Tabelle3.
Alles was ich schon ausprobiert habe führte zu Fehlermeldungen bis zum Rechnerstillstand.

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("C65536") <> "", 65536, _
wks2.Range("C65536").End(xlUp).Row)
For Each rng In wks2.Range("C1:C" & lastRow)
Set rFind = wks1.Range("C:C").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("C:C").FindNext(rFind)
Loop While sFirst <> rFind.Address
End If
sFirst = vbNullString
Set rFind = Nothing
Next
End Sub

Hat jemand eine Idee?
Danke im voraus
Klaus

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

Betreff
Datum
Anwender
Anzeige
AW: Tabellen vergleichen, Sepp
Klaus
Hallo,
dieses Makro stammt aus der Feder von Sepp.
Gruß
Klaus
AW: Tabellen vergleichen
24.02.2005 19:29:47
Josef
Hallo Klaus!
Dann so.

Sub von1nach3wennNichtIn2()
Dim wks1 As Worksheet, wks2 As Worksheet, wks3 As Worksheet
Dim rng As Range, rFind As Range
Dim lastRow As Long, lrow As Long
Set wks1 = Sheets("Tabelle1")
Set wks2 = Sheets("Tabelle2")
Set wks3 = Sheets("Tabelle3")
lastRow = IIf(wks2.Range("C65536") <> "", 65536, _
wks2.Range("C65536").End(xlUp).Row)
For Each rng In wks2.Range("C1:C" & lastRow)
Set rFind = wks1.Range("C:C").Find(what:=rng, LookIn:=xlValues, lookat:=xlWhole)
If rFind Is Nothing Then
lrow = lrow + 1
rng.EntireRow.Copy wks3.Cells(lrow, 1)
End If
Next
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Tabellen vergleichen
Klaus
Hallo Sepp
einfach genial.
Ich habe mir dabei wirklich einen abgebrochen.
Viiiiiiiiiiiielen Dank
Gruß
Klaus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige