Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
Hallo nochmal
Dann so???
Sub Datenabgleich_Schluessel()
Dim wbQuelle As Workbook, wksQuelle As Worksheet
Dim wbZiel As Workbook, wksZiel As Worksheet
Dim lSpalteSchluessel As Long
Dim ZeileQuelle As Long, ZeileZiel As Long
' Tabelle mit ggf. neuen Daten
Set wbQuelle = Workbooks("MappeDaten.xlsx") ' Name anpassen!
Set wksQuelle = wbQuelle.Worksheets("Tabelle2") ' Name anpassen
' Tabelle in der Inhalte eingetragen werden sollen
Set wbZiel = Workbooks("MappeZiel.xlsx") ' Name anpassen!
Set wksZiel = wbZiel.Worksheets("Tabelle1") ' Name anpassen
' Nr. der Schlüsselspalte
lSpalteSchluessel = 1 ' ggf. anpassen
' Letzte Datenzeile in Zieltabelle
With wksZiel
ZeileZiel = .Cells(.Rows.Count, lSpalteSchluessel).End(xlUp).Row
End With
Application.ScreenUpdating = False
With wksQuelle
For ZeileQuelle = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
' Name in Spalte Schlüsselsäule im Zieltabelle suchen
If Application.CountIfs(wksZiel.Columns(lSpalteSchluessel), .Cells(ZeileQuelle, lSpalteSchluessel), _
wksZiel.Columns(lSpalteSchluessel + 1), .Cells(ZeileQuelle, lSpalteSchluessel + 1)) = 0 Then
ZeileZiel = ZeileZiel + 1
' Daten einfügen
.Rows(ZeileQuelle).Copy wksZiel.Rows(ZeileZiel)
' In Werte umwandeln
wksZiel.Rows(ZeileZiel).Value = wksZiel.Rows(ZeileZiel).Value
End If
Next
End With
Application.ScreenUpdating = True
End Sub
LG UweD