Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
Hallo,
wie muss ich unten stehenden Code (hier aus dem Forum) erweitern, damit Spalte 1 und 2 gemeinsam ausgewertet werden.
In Spalte 1 steht das Datum, in 2 die zugehörige Uhrzeit des Tages.
Nun soll auch die Uhrzeit des Tages für neue Daten erkannt werden.
Sub Datenabgleich_Schluessel()
Dim wbQuelle As Workbook, wksQuelle As Worksheet
Dim wbZiel As Workbook, wksZiel As Worksheet
Dim varSchluessel, lSpalteSchluessel As Long, Zelle As Range
Dim ZeileQuelle As Long, ZeileZiel As Long
' Tabelle mit ggf. neuen Daten
Set wbQuelle = Workbooks("MappeDaten.xls") ' Name anpassen!
Set wksQuelle = wbQuelle.Worksheets("Tabelle2") ' Name anpassen
' Tabelle in der Inhalte eingetragen werden sollen
Set wbZiel = Workbooks("MappeZiel.xls") ' 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
' Such-Werte aus Zeile in Zieltabelle einlesen
varSchluessel = .Cells(ZeileQuelle, lSpalteSchluessel)
' Name in Spalte Schlüsselsäule im Zieltabelle suchen
Set Zelle = wksZiel.Columns(lSpalteSchluessel).Find(what:=varSchluessel, _
LookIn:=xlValues, lookat:=xlWhole)
If Zelle Is Nothing Then ' neuer Datensatz
ZeileZiel = ZeileZiel + 1
.Rows(ZeileQuelle).Copy
wksZiel.Cells(ZeileZiel, 1).PasteSpecial Paste:=xlPasteValues
End If
Next
End With
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
Gruß
Demcko