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

Forumthread: Spalten vergleichen und Kopieren

Spalten vergleichen und Kopieren
28.07.2015 07:02:34
Adrian
Moin moin!
Ich brauche mal wieder eure Hilfe, und zwar möchte ich über VBA prüfen, ob einträge der Spalte "A" des einen Tabellenblattes bereits in Spalte "A" eines anderen Tabellenblattes vorhanden sind und falls nicht, diese Einträge dann schlicht zu übertragen...
Mit Rudi Mentaires Unterstützung habe ich dafür bereits folgendes erreicht:

Set sh1 = "Quelle"
Set sh2 = "Ziel"
LZ1 = IIf(IsEmpty(sh1.Cells(sh1.Rows.Count, 1)), sh1.Cells(sh1.Rows.Count, 1).End(xlUp).Row,  _
sh1.Rows.Count) 'Quellbereich
LZ2 = IIf(IsEmpty(sh2.Cells(sh2.Rows.Count, 1)), sh2.Cells(sh2.Rows.Count, 1).End(xlUp).Row,  _
sh2.Rows.Count) 'Zielbereich
For ZeileU = 2 To LZ1
If WorksheetFunction.CountIf(sh2.Columns(1), sh1.Cells(ZeileU, 1).Value) > 0 Then     '  _
abgleich
sh2.Range("A2").End(xlDown).Offset(1, 0).EntireRow.Insert 'zeile einfügen
sh1.Cells(ZeileU, 1).EntireRow.Copy                     'neue zeilen kopieren
sh2.Range("A2").End(xlDown).Offset(1).PasteSpecial Paste:=xlPasteAll 'neue Zeilen einfügen
sh2.Cells(ZeileD, 1).Interior.ColorIndex = 53           'farbig hervorheben
End If
Next ZeileU

Leider scheint diese Schleife nicht zu Prüfen, ob bereits vorhanden oder nicht... Hat wer nen smarten Tipp? :)
Gruß
Adrian

Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten vergleichen und Kopieren
28.07.2015 07:55:08
Adrian
ok hat sich erledigt, ich hab mich selbst ausgetrickst ^^ Wenn die Bedingung erfüllt ist, soll nichts passieren und wenn nicht erfüllt (Else) dann soll ausgeführt werden, was oben steht!

For ZeileU = 2 To LZ1
If WorksheetFunction.CountIf(sh2.Columns(1), sh1.Cells(ZeileU, 1).Value) > 0 Then     '  _
abgleich
Else
sh2.Range("A2").End(xlDown).Offset(1, 0).EntireRow.Insert 'zeile einfügen
sh1.Cells(ZeileU, 1).EntireRow.Copy                     'neue zeilen kopieren
sh2.Range("A2").End(xlDown).Offset(1).PasteSpecial Paste:=xlPasteAll 'neue Zeilen einfügen
sh2.Range("A2").End(xlDown).Interior.ColorIndex = 53           'farbig hervorheben
End If
So klappts...
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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