Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1656to1660
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
Inhaltsverzeichnis

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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige