Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeilenvergleich

Forumthread: Zeilenvergleich

Zeilenvergleich
24.02.2017 10:56:16
kurt
Hallo
ich habe folgendes Problem: ich habe in einem Tabellenblatt eine Spalte mit einem Datum pro Zeile, und zwei weitere Spalten mit Zahlen.
In einem zweiten Tabellenblatt habe ich 2 Spalten mit Datum1 und Datum2, und in zwei weiteren Spalten mit Zahlen.
Im Tabellenblatt2 gibt es mehr Zeilen als in Tabellenblatt1. Ich möchte per Button click unter Betrachtung des Datums alle Zeilen beider Tabellen, die identisch sind, in Tabellenblatt3 kopieren. Anzumerken ist, dass die Werte vom Tabellenblatt 1 vom Tabellentablatt2 gespiegelt sind.
Anbei ist eine Beispieldatei zu finden, um deutlicher zu machen, um was es geht.
https://www.herber.de/bbs/user/111721.xlsx
Vielen Dank für die Hilfe
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
24.02.2017 12:44:06
...
Hallo Kurt,
... in Tabelle2 steht kein Datumswert könnte aber eins stehen welches gleich dem Datumswert in Tabelle1 sein muss?
Deine angestrebtes Ergebnis soll wie Tabelle 3 aussehen? Wozu benötigst Du denn das so?
Aus VBA-Lösungen halte ich mich heraus. Aber das aufgezeigte Ergebnis wäre notfalls auch mit einer Formellösung realisierbar.
Gruß Werner
.. , - ...
Anzeige
AW: nachgefragt ...
24.02.2017 12:48:01
Michael
Hi,
was ich mich auch noch frage: "alle Zeilen, die identisch sind": schließt das die Werte in den anderen Spalten (x, y, usw.) ein oder sollen nur Datum und Beträge verglichen werden?
Gruß,
Michael
AW: Zeilenvergleich
24.02.2017 13:28:19
Werner
Hallo Kurt,
das mit dem "gespiegelt" hat mich am Anfang etwas verwirrt.
Probier mal:
Public Sub Gleiche_kopieren()
Dim loLetzte As Long
Dim loLetzte1 As Long
Dim i As Long
Dim raBereichQ As Range
Dim raBereichP As Range
Dim raZelle As Range
Dim raZelle1 As Range
i = 3
loLetzte = Sheets("Tabelle1").Cells(Rows.Count, 2).End(xlUp).Row
loLetzte1 = Sheets("Tabelle2").Cells(Rows.Count, 2).End(xlUp).Row
With Sheets("Tabelle1")
Set raBereichQ = .Range(.Cells(3, 2), .Cells(loLetzte, 2))
End With
With Sheets("Tabelle2")
Set raBereichP = .Range(.Cells(2, 2), .Cells(loLetzte1, 2))
End With
For Each raZelle In raBereichQ
For Each raZelle1 In raBereichP
If raZelle.Value = raZelle1.Value Then
If raZelle.Offset(, 5)  "" Then
If raZelle.Offset(, 5) > 0 Then
If raZelle.Offset(, 5).Value = raZelle1.Offset(, 8).Value Then
Sheets("Tabelle3").Cells(i, 2).Value = raZelle.Value
Sheets("Tabelle3").Cells(i, 7).Value = raZelle.Offset(, 5).Value
i = i + 1
End If
End If
End If
End If
If raZelle.Value = raZelle1.Value Then
If raZelle.Offset(, 6)  "" Then
If raZelle.Offset(, 6) > 0 Then
If raZelle.Offset(, 6).Value = raZelle1.Offset(, 7).Value Then
Sheets("Tabelle3").Cells(i, 2).Value = raZelle.Value
Sheets("Tabelle3").Cells(i, 8).Value = raZelle.Offset(, 6).Value
i = i + 1
End If
End If
End If
End If
Next raZelle1
Next raZelle
End Sub
Gruß Werner
Anzeige
AW: Zeilenvergleich
28.02.2017 15:19:38
kurt
Hallo Werner,
der Code funktioniert. Ich habe nur noch ein paar Fragen.
1. Wie kann ich anpassen, dass nicht nur die Werte von B, G und H eingetragen werden, sondern die Zellen von B bis H?
2. Die Werte aus Tabelle 1 werden nicht eingetragen. Ich würde gerne diese (auch die ganze Zeile (B:I)) ab Spalte M haben wollen.
Vielen Dank für deine Hilfe!
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