Moin
Ich arbeite gerade wieder an unsere Kontoverwaltung.
Der derzeitige Workflow sieht wie folgt aus:
CSV Datei mit den Buchungen von der Bank runterladen.
Diese über ein Excel öffnen
(Habe ein Makro geschrieben, welches die Einträge passend formatiert und
in ein neues Tabellenblatt einfügt)
In das Tabellenblatt "Buchungen" wechseln und schauen, was der letzte
bestehende Eintrag ist.
Zurück in das Tabellenblatt mit den importierten Daten, erste neue Zeile
finden und von hier alle neuen Zeilen markieren, kopieren und in das
Tabellenblatt an das Ende der bestehenden Tabelle einfügen.
Für diesen Ablauf würde ich gerne ein weiteres Makro schreiben.
Der Aufbau der Tabellen ist nicht gleich,
die Tabelle "Buchungen" enthält vor und hinter den einzufügenden
Spalten, weitere Spalten.
Die Zeilen sind so eindeutig, wie Kontoauszüge halt so sind.
Es gibt immer wieder sie selben Zahlungspflichtigen und
Verwendungszwecke.
Auch gibt es mehrere Buchungen an einem Tag.
Ein Filter der die letzte bestehende Zeile mit den neuen Daten
vergleicht muss also mehr als eine Zelle vergleichen.
Und da hört mein Können auf und ich würde euch um einen Lösungsvorschlag
mittels VBA bitten.
Danke und Gruß
Kolja
Also ich würde folgendermaßen vorgehen:
* in der Buchungstabelle die letzte belegte Zeile finden (
sheet.usedrange.rows.count )
* die neue Tabelle zeilenweise von oben nach unten durchgehen und die
notwendigen Spalten mit denen der letzen Zeile aus Buchungen vergleichen
* wurde die passende Zeile gefunden, alle nachfolgenden nach Buchungen
kopieren
Sascha
Sascha W. schrieb:> die neue Tabelle zeilenweise von oben nach unten durchgehen und die> notwendigen Spalten mit denen der letzen Zeile aus Buchungen vergleichen
Danke, aber genau dafür finde ich keine Lösung.
Kolja L. schrieb:> Sascha W. schrieb:>> die neue Tabelle zeilenweise von oben nach unten durchgehen und die>> notwendigen Spalten mit denen der letzen Zeile aus Buchungen vergleichen>> Danke, aber genau dafür finde ich keine Lösung.
Ok mal so aus dem Kopf
1
set sh_bu=sheets("buchungen")
2
set sh_im=sheets("import")
3
last_bu=sh_bu.usedrange.rows.count
4
r=2
5
cp=0
6
while sh_im.cells(r,1)<>""
7
If c0=0 then
8
if sh_bu.cells(last_bu,1)=sh_im.cells(r,1) and sh_bu.cells(last_bu,2)=sh_im.cells(r,2) and ... then
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang