nachdem mir dieses Forum in der Vergangenheit immer wieder beste Dienste erwiesen hat, um mein gefährliches Halbwissen etwas zu vergrößern, will ich es heute mal mit einer eigenen Frage versuchen, für die ich bislang keine Lösung gefunden habe:
Ich möchte ganze Zeilen (immer gleicher Aufbau) mittels VBA in eine existente Liste kopieren, Aufbau: Datum; Wert, Wert, Wert, ...., Wert.
Die Herausforderung (zumindest für mich bislang nicht lösbar):
Ist in der Liste eine Zeile mit Datum in der ersten Spalte = dem Datum der einzufügenden Zeile, dann soll die Zeile überschrieben werden.
Ist das Datum neuer als das aller schon existenten Zeilen, dann soll der Wert in die nächstfreie Zeile kopiert werden.
Es soll also eine Liste entstehen, in der jedes Datum mit den dazugehörigen nebenstehenden Werten der Zeile nur einmal existiert. Ziel ist es darüber ein Verarbeitungsprotokoll zu erzeugen (falls dies für das Verständnis wichtig sein sollte).
Hier nochmals im Detail (mit Beispiel):
Existente Liste:
01.07.2014 Günter Dieter Hans Elvis 990 k6t
02.07.2014 Peter Günter Klaus Simon 461 i71
03.07.2014 Hans Günter Karl Emil 555 kl1
04.07.2015 Lothar Boris Klaus Elvis 880 l88
05.07.2015 Emil Richard Hans Klaus 771 p55
Szenario 1: in die obige Liste zu kopierende Zeile, Datum schon vorhanden - Ziel: Zeile ersetzen
03.07.2014 Ida Monika Klara Petra 874 o85
Szenario 2: in die obige Liste zu kopierende Zeile, Datum noch nicht vorhanden - Ziel: Zeile unten anfügen
08.07.2014 August Karl Heinrich Dieter 779 D4w
Mir schwebt folgendes vor:
a) Kopiere Zeile (die eingefügt werden soll) aus anderem Tabellenblatt
b) Prüfe ob in Spalte A (dort steht das Datum) das Datum aus der ersten Zelle der einzufügenden Zeile schon vorhanden ist
c) wenn ja, dann einfügen und ersetzen in dieser Zeile
d) wenn nein, dann einfügen in der ersten freien Zeile unter der Liste
e) Gesamte Liste nach Spalte A sortieren (das kriege ich selbst hin)
Müsste also eine Art Suchen/Ersetzen kombiniert mit Wenn/Dann Funktion werden...
Ich hoffe, ich konnte mein Anliegen klar machen und würde mich freuen, wenn mich jemand bei der Lösung unterstützen könnte, wie ein entsprechendes Makro aussehen müsste.
Schon vorab vielen Dank für jegliche Hilfestellung.
Schon vorab vielen Dank für Eure Unterstützung.