HERBERS
Excel-Forum
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Entdecke rund 2 Millionen Excel-Lösungen im
Forumsarchiv
Forumbeitrag
Excel-Version des Fragestellers:
2022
Erfahrungslevel des Fragestellers:
VBA nur mit Recorder
daniel
26.05.2026 14:52:15
AW: nur neue Daten kopieren. Spalte 1+2 (Datum/Uhrzeit)
Hi
ich würde in beiden Tabellen am Anfang eine Spalten hinzufügen und dort Datum und Uhrzeit zusammenfügen.
das kannst du einfach addieren und dann kannst du mit dieser Spalte den Vergleich durchführen.

ich würde allerdings die Werte in Text umwandeln, dh die Formel einfügen: =Text(B2+C2;"JJJJ-MM-TT hh:mm:ss")
und mit den Texten arbeiten, da bei Zeiten mit gerne mal die rechnertypische Ungenauigkeit ein Problem werden kann (1+1 = 2,000000000001)

Gruß Daniel
Als Antwort auf diesen Beitrag
Demcko
26.05.2026 14:28:44
nur neue Daten kopieren. Spalte 1+2 (Datum/Uhrzeit)
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
Folgenachrichten
Antwort auf Beitrag erstellen
Bitte einen Anwendernamen ohne @ eingeben.
Bitte das Passwort eingeben.
Bitte eine gültige E-Mail-Adresse eingeben.
Bitte einen Betreff eingeben.
Weitere Optionen
Aktivieren, wenn die Frage/der Beitrag noch nicht beantwortet wurde und unter Listen > Offene Threads erscheinen soll.
Beispieldatei hochladen

Bitte einen Nachrichtentext eingeben.