Spalten vergleichen und Kopieren

Bild

Betrifft: Spalten vergleichen und Kopieren
von: Adrian
Geschrieben am: 28.07.2015 07:02:34

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

Bild

Betrifft: AW: Spalten vergleichen und Kopieren
von: Adrian
Geschrieben am: 28.07.2015 07:55:08
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...

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Spalten vergleichen und Kopieren"