Täglicher automatisierter Vergleich zweier csv Dateien?

2 Antworten

Brauchst Du eine Lösung in Excel oder hast Du ggf. auch Access zur Verfügung?

Excel - Lösung mit Makros, grob umrissen welche Schritte mir einfallen würden (die genauen Lösungen kommen aber meist erst, wenn man sich eingehender mit den Gegebenheiten befassen kann):

1.) Daten einlesen: CSV Dateien kannst Du über eine Datenverbindung einlesen - Ribbon Daten > Aus Text (ganz links). Die Datenverbindung kann man mit Makro automatisch aktualisieren (die Datei sollte nur den gleichen Namen tragen, sonst wird es etwas komplexer).
Man kann an dieser Stelle auch das Dateidatum abfragen, um doppeltes Einlesen zu verhindern und ähnlich Plausibilitäten

2.) Die täglich eingelesenen Daten kann man mit Makro in einem Tabellenblatt untereinander sammeln und mit Timestamp versehen. Das ist auch nur copy/paste

3.) Die ausgeschiedenen Mitarbeiter sind mit dem üblichen zählenwenn ermittelbar: Also Personalnummer aus dem aktuellsten Abzug und zählenwenn in dieser Datensammlung. Ist das 0 = nicht gefunden, ist es nach Deiner Definition ein ausgeschiedener Mitarbeiter.
Je nach Anzahl der Mitarbeiter kann man was schlaues bauen oder einfach mit eine For-/Next die aktuellen Daten einzeln durchgehen.
for i=1 to ...
if worksheetfunction.countif.... =0 then datensatz in neue Datei kopieren oder auch ein einem eigenen Tabellenblatt mit Timestamp sammeln und später auswerten.

Das einzige was nicht automatisiert passiert, dass die Sache täglich von alleine abläuft. Da gibt es vielleicht auch Optionen, aber die habe ich spontan nicht im Kopf.

Schwachpunkt des Ansatzes (da dürfen andere gerne ergänzen ;-)
Es müssen täglich die Dateien eingelesen werden, sonst kennst Du den genauen Austrittszeitpunkt nicht.

Vielleicht kommen aber auch noch andere Ansätze, die besser passen. Mit Access bin ich nur bedingt fit - über eine Aktualisierungsabfrage könnte man ggf. die Datensätze jeweils mit neuem Timestamp einlesen (also ein Datum zu den bestehenden Einträge aktualisieren) und diejenigen ohne Aktualisierung herausfiltern. Das müssten die ausgeschiedenen sein.

Hoi welche Überschriften haben die jeweiligen Spalten in der CSV?

https://bitbucket.org/snippets/Ettar/747j9

Das ist n Ansatz dazu. Der geht davon aus, dass die Zeilen die Überschriften "MNummer","NName" und "VName" haben.

Da bräuchte ich ggf. die richtigen Überschriften.

Achja: Soll die alte Datei gelöscht und die "neue" umbenannt werden?

Wäre halt mal wichtig den Header einer der richtigen CSV-Dateien zu haben (zur Not auch per PN).

 - (programmieren, Microsoft Excel, VBA)