Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1676to1680
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro Datenvergleich

Makro Datenvergleich
19.02.2019 19:42:26
Anne
Guten Abend zusammen,
da ich hier http://www.vba-forum.de/forum/View.aspx?ziel=49791-Makro_Vergleich_Tabellenbl%C3%A4tter?
leider keine Antwort bekommen habe, versuche ich es noch einmal hier und hoffe auf eure Hilfe.
Hallo zusammen, ich möchte gern aktuelle Daten mit alten Vergleichen und dabei solche die in beiden vorkommen beibehalten mit dem bestehenden Datum, solche die nur in den alten vorkommen löschen und solche die nur in den neuen vorkommen übernehmen und mit dem Datum heute +2Monate versehen. Hier eine Beispieldatei dazu:
https://www.herber.de/bbs/user/127758.xlsm
Letzlich ist dann also Datenquelle_neu mein Datenursprung und Tabelle 1 das Ziel. Datenquelle_alt ist hier nur zum Verständnis eingefügt.
Das lässt sich vermutlich am besten (oder ausschließlich) über ein Makro lösen, oder? Kann mir jemand dazu einen Ansatz geben? Vielen Dank und liebe Grüße Anne
Letzlich ist dann also Datenquelle_neu mein Datenursprung und Tabelle 1 das Ziel. Datenquelle_alt ist hier nur zum Verständnis eingefügt.
Vielen Dank schon einmal für die Mühe!
Viele Grüße
Anne

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro Datenvergleich
19.02.2019 21:59:40
MCO
Hallo Anne!
Das sollte klappen. Die Tabelle1 brauchst du dabei nicht.
Sub vergleich()
Dim sh_n As Worksheet
Dim sh_a As Worksheet
Dim rng_neu As Range, rng_alt As Range, cl As Range, gefunden As Range
Set sh_n = Sheets("Datenquelle_neu")
Set sh_a = Sheets("Datenquelle_alt")
Set rng_neu = sh_n.Range("A2:A" & Rows.Count).SpecialCells(xlCellTypeConstants)
Set rng_alt = sh_a.Range("A:A").SpecialCells(xlCellTypeConstants)
For Each cl In rng_neu
Set gefunden = rng_alt.Find(cl)
If Not gefunden Is Nothing Then
cl.Offset(0, 3) = "gefunden, nix weiter"
gefunden.Interior.Color = vbGreen
Else
cl.Offset(0, 3) = "nicht gefunden, Datum + 60 Tage"
cl.Offset(0, 2) = cl.Offset(0, 2) + 60
End If
Next cl
End Sub
Gruß, MCO
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige