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

Forumthread: Vergleich von Zeilen zwischen zwei Blättern

Vergleich von Zeilen zwischen zwei Blättern
23.11.2018 17:25:44
Zeilen
Hallo,
habe hier aus dem Forum schon sehr viel wertvolle Tipps, Tricks und Codes entnehmen können und bereits viel in Excel mit VBA realisiert. Leider bin ich eher der Typ, der den Code lesen und verstehen kann, jedoch selbst nicht wirklich schreiben.
Stehe aktuell vor der Herausforderung Zeilen zweier Tabellenblätter miteinander zu vergleichen.
Falls sich Zeilen unterscheiden, sollen diese in ein drittes Tabellenblatt geschrieben werden.
Bsp.:
Tabelle1
Zeile1: Zeichnung | A12345 | x | 15.14.13 | CH123
Zeile2: Zeichnung | A23456 | x | 15.14.13 | CH123
Zeile3: Zeichnung | A78999 | x | 15.14.13 |
Tabelle2
Zeile1: Zeichnung | A12345 | x | 15.14.13 | CH123
Zeile2: Zeichnung | A23456 | x | 15.14.13 | CH123
Zeile3: Zeichnung | A78999 | x | 15.14.13 | CH123
Tabelle3
Zeile1: Zeichnung | A78999 | x | 15.14.13 | CH123
(Fett markiert soll nur hier die Änderung verdeutlichen)
Ich habe bereits verschiedene Code ausprobiert, leider bisher kein Erfolg z.B.:
Sub Test()
Dim bereich1 As Range
Dim bereich2 As Range
Dim treffer As Boolean
treffer = False
For Each bereich1 In Worksheets("Tabelle1").UsedRange
For Each bereich2 In Worksheets("Tabelle2").UsedRange
If bereich1 = bereich2 Then
treffer = True
Exit For
End If
Next
If treffer = False Then
Worksheets("Tabelle3").Cells((Worksheets("Tabelle3").Cells(Rows.Count, 1).End(xlUp).Row) _
+ 1, 1) = bereich1
End If
treffer = False
Next
End Sub
Hier wird nichts in die Tabelle3 geschrieben...
oder
Sub Vergleichen()
Dim wkb As Worksheet
Dim wksA As Worksheet, wksB As Worksheet, wksC As Worksheet
Dim iWks As Integer, iRow As Integer, iRowT As Integer
On Error Resume Next
For iWks = 1 To 3
Set wkb = Sheets("Liste" & iWks)
Next iWks
If Err > 0 Or wkb Is Nothing Then
Beep
Err.Clear
MsgBox prompt:="Die 3 Arbeitsblätter sind nicht vorhanden!"
Exit Sub
End If
On Error GoTo 0
Set wksA = Sheets("Liste1")
Set wksB = Sheets("Liste2")
Set wksC = Sheets("Liste3")
iRow = 1
Do Until IsEmpty(wksA.Cells(iRow, 1))
If WorksheetFunction.CountIf( _
wksB.Columns(1), _
wksA.Cells(iRow, 1).Value) = 0 Then
iRowT = iRowT + 1
wksC.Cells(iRowT, 1).Value = wksA.Cells(iRow, 1).Value
wksC.Cells(iRowT, 2).Value = wksA.Parent.Name
End If
iRow = iRow + 1
Loop
iRow = 1
Do Until IsEmpty(wksB.Cells(iRow, 1))
If WorksheetFunction.CountIf( _
wksA.Columns(1), _
wksB.Cells(iRow, 1).Value) = 0 Then
iRowT = iRowT + 1
wksC.Cells(iRowT, 1).Value = wksB.Cells(iRow, 1).Value
wksC.Cells(iRowT, 2).Value = wksB.Parent.Name
End If
iRow = iRow + 1
Loop
End Sub
Hier passiert einfach nichts, es werden keine Änderung in Liste3 geschrieben.
Ich hoffe es kann mir jemand helfen!
Danke im Voraus und ein schönes Wochenende
Sergej
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich von Zeilen zwischen zwei Blättern
23.11.2018 19:16:08
Zeilen
Moin Sergej,
du schreibst, dass du nicht in der Lage bist, VBA-Code selbst zu verfassen oder anpassen. Das an sich ist ja nicht weiter tragisch. Da stellt sich mir aber die Frage, warum du nicht andere Wege gehst, die für dich besser verständlich und auch nachvollziehbar sind. SO (wie jetzt) wirst du immer an der Nabelschnur jener hängen, die ihre Freizeit für dich opfern.
Das hier ließe sich gewiss gut mit Power Query lösen, wenn es nicht unbedingt zu 100% zeilenbezogen sondern inhaltsbezogen ist (wobei wahrscheinlich auch zeilenbezogen gehen sollte ...)
Gruß
Günther
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
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