Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: 2 identische Tabellenblätter vergleichen

2 identische Tabellenblätter vergleichen
10.09.2013 10:54:16
Andre´
Hallo alle zusammen,
Ich habe eine Tabelle wo der Aufbau der gleiche ist.
Die Spalten und die zeilenanzahl ist nicht fest.
Jetzt soll das Tabellenblatt "2" mit dem Tabellenblatt "1" verglichen werden.
Bedingung ist, dass in der Spalte H nach "B:" gesucht wird (nur diese zeilen müssen verglichen werden).
Alles ander braucht nicht geprüft werden.
Ist die Bedingung erfüllt, dann soll nach rechts die gesamte zeile nach einer Änderung überprüft werden.
Gibt es eine Änderung, dann soll in das Tabellenblatt "3" die Zeilenwerte von Spalte A bis F übertragen werden
und der geänderte Wert und das Datum aus der ersten Zeile aus der spalte wo die Änderung war.
Die Daten sollen untereinander aufgelistet werden.
In dem angehängten Bsp.: https://www.herber.de/bbs/user/87216.xls
habe ich die Zellen im Blatt "2" farbig hinterlegt die unterschiedlich sind und in das Blatt "3" manuell übertragen.
Ich hoffe es gibt eine Makrolösung und bedanke mich im Vorraus!
MFG André

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: 2 identische Tabellenblätter vergleichen
10.09.2013 13:59:22
UweD
Hallo
hier eine Möglichkeit:
Sub TT()
On Error GoTo Fehler
Dim TB1, TB2, TB3, i&, j%, z&
Dim ZE&, LR&, LC%
Set TB1 = Sheets("1")
Set TB2 = Sheets("2")
Set TB3 = Sheets("3")
TB3.Cells.Clear
TB3.Columns(8).NumberFormat = "d/m/"
ZE = 2 'ab Zeile 2 wegen Überschrift
LR = TB1.Cells(Rows.Count, 8).End(xlUp).Row 'letzte Zeile der Spalte
LC = TB1.Cells(ZE, Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile
Application.ScreenUpdating = False
z = 1
For i = ZE To LR
If TB1.Cells(i, 8) = "B:" Then
For j = 9 To LC
If TB1.Cells(i, j)  TB2.Cells(i, j) Then
TB2.Range(TB2.Cells(i, 1), TB2.Cells(i, 6)).Copy _
TB3.Cells(z, 1)
TB3.Cells(z, 7) = TB2.Cells(i, j)
TB3.Cells(z, 8) = TB2.Cells(1, j)
z = z + 1
End If
Next j
End If
Next i
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub

Gruß UweD

Anzeige
AW: 2 identische Tabellenblätter vergleichen
10.09.2013 14:28:13
Andre´
Hallo Uwe,
vielen Dank für die Lösung, funktioniert prima auch bei ca. 12000 Zeilen ist die Zeit recht gut :-))
MFG Andre
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige