Tabellen vergleichen

Bild

Betrifft: Tabellen vergleichen
von: Alexander
Geschrieben am: 02.10.2003 19:10:13

Guten Tag liebe Forumsmitglieder!

Es ist schon schwer zu beschreiben...wie soll ich da einen Code zusammenkriegen?

Also, ich möchte zwei Tabellen vergleichen (soweit nichts schweres), aber:

Die zu vergleichenden Inhalte der Zeilen von Tabelle1 und Tabelle2 sind nicht an der gleichen Position.
Es müssen zwei Werte pro Zeile gleich sein, damit die Zeile als identisch gilt.

Hier ein Beispiel:

Tabelle 1 sieht so aus...

 AB
1Nummer1Nummer2
2D825881G928-91225
3D825850F928-93450
4D832001G929-90020
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

...und Tabelle 2 so:
 AB
1Nummer1Nummer2
2D832001G929-90020
3D825881F928-91225
4A825850F928-93450
Excel Tabellen einfach im Web darstellen   Excel Jeanie HTML  2.0    Download  

Zeile 3 von Tabelle1 und Zeile 1 von Tabelle2 sind identisch! Alle anderen nicht... Die nicht identischen Zeilen sollen in eine dritte Tabelle (Tabelle3) kopiert werden. Leider habe ich dazu kein passendes Beispiel in der Recherche gefunden und ich habe wirklich gut gesucht... Vielen Dank für jede Hilfestellung!
Bild


Betrifft: AW: Tabellen vergleichen
von: ChrisL
Geschrieben am: 02.10.2003 19:51:25

Hi Alexander

Option Explicit


Private Sub Worksheet_Activate()
Dim WS1 As Worksheet, WS2 As Worksheet, WS3 As Worksheet
Dim WS1LetzteZeile As Long, WS2LetzteZeile As Long
Dim iZeile As Long, iiZeile As Long
Application.ScreenUpdating = False
Set WS1 = Sheets("Tabelle1")
Set WS2 = Sheets("Tabelle2")
Set WS3 = Sheets("Tabelle3")
WS1LetzteZeile = WS1.Range("A65536").End(xlUp).Row
WS2LetzteZeile = WS2.Range("A65536").End(xlUp).Row
WS3.Range("A2:B65536").ClearContents
For iZeile = 2 To WS1LetzteZeile
    If Application.WorksheetFunction.CountIf(WS2.Range("A2:A" & WS2LetzteZeile), WS1.Cells(iZeile, 1)) > 0 And _
    Application.WorksheetFunction.CountIf(WS2.Range("B2:B" & WS2LetzteZeile), WS1.Cells(iZeile, 2)) > 0 Then
    
        For iiZeile = 2 To WS2LetzteZeile
            If WS1.Cells(iZeile, 1) = WS2.Cells(iiZeile, 1) And _
            WS1.Cells(iZeile, 2) = WS2.Cells(iiZeile, 2) Then
            
                WS1.Range(WS1.Cells(iZeile, 1), WS1.Cells(iZeile, 2)).Copy _
                WS3.Range("A" & WS3.Range("A65536").End(xlUp).Row + 1)
                Exit For
            
            End If
        Next iiZeile
    
    End If
Next iZeile
Application.ScreenUpdating = True
End Sub



Gruss
Chris


Bild


Betrifft: AW: Tabellen vergleichen und Zeilen kopieren
von: Alexander
Geschrieben am: 02.10.2003 20:36:30

Hi!

Danke für den hervorragenden Code. Ich brauche aber nicht nur die Differenz der Spalten, sondern die gesamte jeweilige Zeile (geht von A bis T) aus Tabelle2 soll in Tabelle3 kopiert werden...
Tabelle2 wird mit Tabelle1 verglichen und all das, was von Tabelle2 nicht in Tabelle1 enthalten ist, soll in Tabelle3 kopiert werden...
Wie muss der Code dann aussehen?

Gruß, Alex


Bild


Betrifft: AW: Tabellen vergleichen und Zeilen kopieren
von: Erich M.
Geschrieben am: 03.10.2003 09:19:16

Hallo Alexander,

schau mal hier:
https://www.herber.de/bbs/user/1268.xls

und hier:
https://www.herber.de/bbs/user/1269.xls


mfg
Erich


Bild


Betrifft: Danke...aber die Dateien sind defekt
von: Alexander
Geschrieben am: 03.10.2003 22:56:41

...leider fehlt da haufenweise vom Code...


Bild


Betrifft: AW: Danke...aber die Dateien sind defekt
von: Erich M.
Geschrieben am: 04.10.2003 08:30:34

Hallo Alexander,

bei mir laufen die einwandfrei. Hast Du die "Vergleichsdatei"
auch ohne Zugriff auf eine andere Datei probiert
(bei der auswahl?)?

Versteh ich nicht!

mfg
Erich


 Bild

Beiträge aus den Excel-Beispielen zum Thema " Tabellen vergleichen "