Täglicher automatisierter Vergleich zweier csv Dateien?

Hallo,

da ich leider nicht alle technischen Begriffe richtig kenne und deshalb evtl. hier falsch verwende bereits vorab die Bitte um Entschuldigung.

Ich bekomme täglich eine csv Datei mit Daten aktueller, also zum heutigen Tag angestellten, Mitarbeitern. Hier steht bspsweise Personalnummer (eindeutiger Schlüssel), Nachname, Vorname,Eintrittsdatum und Austrittsdatum (Achtung: Das Austrittsdatum stimmt leider nicht immer). Zur Veranschaulichung die Datumsangaben mal weggelassen.

...

124514; Müller; Jonas;

231423; Fischer, Joachim;

423313; Haupt, Christian;

...

Sobald ein Mitarbeiter nicht mehr aktiv ist (also aus der Firma ausgetreten ist) wird der Datensatz am folgenden Tag auch nicht mehr übergeben (kommt also in der aktuellen csv Datei nichtmehr vor).

Es würde also am Folgetag die csv folgendermaßen aussehen, wenn Müller das Unternehmen verlassen hat und Newbie beispielsweise neu angefangen hat. Die Neueintritte müssen nicht abgefangen werden, wollte ich nur als Info dazusagen, dass diese dann zusätzlich in der neuen Datei vorhanden sind. Es geht ausschließlich um die Austritte, also die Mitarbeiter die in Vortagsdatei vorkamen, jetzt in tagesaktuellen aber nicht mehr vorkommen.

...

231423; Fischer, Joachim;

423313; Haupt, Christian;

599999; Newbie, Franziska;

...

Da das Austrittsdatum, welches auch mitgeliefert wird, leider teilweise nicht korrekt ist, kann ich mich nicht auf dieses Feld verlassen und irgendwie danach gehen. Auch haben beispielsweise unbefristete Mitarbeiter hier keinen Eintrag.

Ich bin nun auf der Suche nach einer Möglichkeit, wie ich die täglichen Austritte abfangen kann, also die Differenz zwischen mitgelieferten Daten der aktuellen Datei gegenüber der zum Vortag vergleichen kann. Dies sollte jeden Tag automatisiert funktioniert (durch einen Windows Dienst?)

Meine Idee war, dass ich diese beiden csv Dateien Datei H (Heute, im Beispiel oben die Datei mit Newbie) und Datei H-1 (gestern, Datei mit Müller) täglich vergleichen lassen und mir die Austritte jeweils in eine extra Datei, egal ob csv oder Excel, ausgeben lasse, sodass ich am Ende jeden Monats alle Austritte nochmal überprüfen kann.

Im obrigen Beispiel sollte dann beispielsweise der Datensatz zu Herrn Müller in eine Datei übergeben werden inkl den mitgelieferten Informationen wie Eintrittsdatum und Co. und wenn möglich dem aktuellen Tag (oder Zeitpunkt/aktueller Zeitstempel, damit nachvollzogen werden kann, wann genau dieser Mitarbeiter ausgetreten ist)

Leider fehlt mir jede technische Idee, wie ich sowas am schlausten umsetze und technisch realisiere. Hierfür wäre ich euch sehr über eure Ideen dankbar! Ich will ungern zunächst in eine komplett falsche Richtung laufen und danach bemerken, dass dies mir diesem System nicht umsetzbar ist.

Da dies wohl meine Mammutsaufgabe in meinem Praktikum sein wird, bin ich demjenigen, der sich hier die Zeit nimmt, mir bei der Lösungsfindung zu helfen, natürlich sehr, sehr dankbar! Vielen dank!

Microsoft Excel, programmieren, Makro, VBA, skript, csv, PowerShell
Wie kann ich in Excel viele Zellen einer Spalte miteinander verketten/ Gibt es die Möglichkeit bestimmte Bereiche automatisch zu einer Zelle zusammenzufügen?

Hallo, ich habe eine extrem lange Liste bestehen aus zwei Spalten. In Spalte A sind Zahlen und in Spalte B sind Wörter.

Frage 1: Wie kann ich bestimmte Bereiche in eine Zelle zusammenfügen; am besten durch Komma getrennt. Was ich bislang gefunden habe erscheint mir etwas kompliziert: VERKETTEN(MTRANS(B1:B67)) Dann kommt da sowas raus: {"Nähe"."Nu"."Uni"."Hahn"."Neue"."Huhn"."On"."Yen"."Nahe"."Hohn"."Ion"."Henne".} Hier mache ich nun mit Ersetzen die Anführungszeichen und die Klammern weg und aus dem Punkt ein Komma mit Leerzeile. Geht das nicht irgendwie noch leichter?

Frage 2: Könnte man auch gleich befehlen, dass alle Wörter, denen in Spalte A die gleiche Zahl zugeordnet ist, in einer Zelle zusammengefasst werden?

So sieht das ganze etwa aus:

A B

1 Eid

1 Hoheit

1 Hit

1 Heute

2 Huhn

2 Henne

3 Mühe

3 Oma

3 Heim

usw. Die Liste hat an die 270.000 Einträge (Zeilen). Die Zahlen in Spalte A gehen bis 99999. Daher sollte so viel wie möglich automatisch laufen. Denn fast einhunderttausend Einträge (so wie ich es bislang von Hand mache) zu ändern ist der Horror ... Ein Freund sagte mir, ich brauche wahrscheinlich ein Makro. Allerdings habe ich überhaupt keine Ahnung wie ich das verwende. Daher bitte ich um eine ausführliche Erklärung und hoffe, dass ich nicht zu viel verlange...

Vielen vielen lieben Dank schonmal. Ich hoffe und freue mich auf Antworten

Microsoft Excel, Makro
Excel VBA: Sverweis Formel - Makro einfügen!

Hi zusammen. Habe mir heute mein erstes Userform gebastelt (Google sei Dank...). Mein UF macht simpel nichts anderes, als Einträge aus der EIngabemaske in eine Tabelle zu füllen.

Dim emptyRow As Long

'Ermitteln der ersten leeren Zeile
emptyRow = WorksheetFunction.CountA(Range("A:A")) + 1

'Wohin werden die eingegebenen Datein eingefüllt?
Cells(emptyRow, 1).Value = ComboBox1.Value
Cells(emptyRow, 5).Value = TextBox1.Value
Cells(emptyRow, 2).Value = TextBox2.Value
Cells(emptyRow, 3).Value = TextBox3.Value
Cells(emptyRow, 7).Value = TextBox4.Value

If OptionButton1.Value = True Then
    Cells(emptyRow, 6).Value = "1. Halbjahr"
End If

If OptionButton2.Value = True Then
    Cells(emptyRow, 6).Value = "2. Halbjahr"
End If


Me.Label7 = "Speichern erfolgreich!"

End Sub

Ich muss auch sagen, es funktioniert prächtig. Die Einträge werden alle korrekt erstellt etc. Nur habe ich in Spalte "H" meiner Tabelle, wo die Daten eingefügt werden, eine Spalte für SVerweis. Diese Formel soll jedesmal, wenn ein neuer Eintrag gespeichert wird, angefügt werden. Wenn ich von anfang an alle Formeln runterziehe bis ans Ende der Tabelle braucht Excel 2Minuten zum das Dokument zu öffnen... Formel lautet: =SVERWEIS($A2;'Tabelle1'!$A$1:$C$31;2;FALSCH) Wobei der Bezug A2 natürlich mit jeder Zeile anders ist (A2, A3, A4 etc.) Wenn ich die Formel "aufzeichne", erscheint folgendes, womit ich absolut nix anfangen kann.

Sub SVerweis_HC()
'
' SVerweis_HC Makro
'

'
    ActiveCell.FormulaR1C1 = _
        "=VLOOKUP(RC1,'Tabelle1'!R[-1317]C[-7]:R[-1289]C[-6],2,FALSE)"
    Range("H1319").Select
End Sub

Kann hier wer helfen?

Bild zum Beitrag
Computer, Microsoft Excel, programmieren, Makro, VBA, Script, Tabelle

Meistgelesene Beiträge zum Thema Makro