Ich arbeite sehr viel mit Quicken. Leider gibt es darin ein paar Features, die ich sehr oft benötige, nicht. Aber man kann daraus Daten nach Excel exportieren. Dazu hatte ich mir einen Makro geschrieben, der auch funktionierte. Nun gibt es eine neue Version von Quicken und man glaubt es kaum, es gibt Änderungen beim Export oder aber ich habe nun ein paar Datensätze erwischt, die zusätzliche Infos enthalten, die bisher eben leer waren und daher im Export fehlten. Dabei handelt es sich beispielsweise um eine Splittbuchung. Bei normalen Buchungen gibt es nur ein Feld, dass den Betrag enthält. Bei Splittbuchungen können nun aber zum zuvor genannten "Gesamtbetragsfeld" bis zu 30 Einzelbeträge belegt werden, ebenso dazu jeweils eine Kategorie und ein Verwendungszweck. Das Exportfile (qif-format - kann man aber mit einem Texteditor einfach ansehen) ist relativ einfach aufgebaut. Je Datensatz wird einfach untereinander der Feldinhalt aufgelistet. Jedem Feldinhalt geht ein Buchstabe voraus, der das Feld deklariert. Am Datensatzende steht dann einfach ein ^. Mein Makro soll diese Daten in ein bestimmtes Format umwandeln, so dass jeweils in einer Zeile ein Datensatz steht.
Wie bereits erwähnt, hat das bisher auch geklappt. Aber mit Splittbuchungen geht es nicht. Der Grund ist mir schon klar, aber ich habe zu wenig VB Kenntnisse um eine Lösung zu finden.
Solange jeder Datensatz gleich viele Zeilen enthielt war es einfach. Ich habe mit einer Range Anweisung (Beispiel: Range("L" & Zielzeile).Select) das Ziel anvisiert und dann dort hinein die entsprechenden Daten hineinkopiert - ggf. nach vorheriger Umwandlung ins gewünschte Format. Danach die nächste Zeile des Datensatzes in die nächste Spalte usw. Am Schluß standen dann alle Daten immer in den Spalte L bis R.
Bei Splittbuchungen kommen nun aber je Splittzeile ggf. jeweils 3 Zeilen dazu, also hier konkret immer
S******
E******
$******
S******
E******
$******
usw. je nachdem wie viele Splittzeilen genutzt wurden.
Was ich suche ist eine Formel oder Möglichkeit, wie ich die nächste freie Spalte "errechnen" kann, denn ich brauche ja für meine Range - Anweisung einen festen Buchstaben. Vielleicht ist aber bereits das mein Denkfehler und man kann die Zielzelle auch anderweitig anspringen?
Ich müsste also beispielsweise in eine Variable immer die zuletzt belegte Spalte setzen. Für den Fall, dass es Splittzeilen gibt, werden diese entsprechend in die nächsten Spalten plaziert, gibt es keine, dann nicht.
Im Ergebnis enden dann beispielweise normale Datensätze im Spalte R während Datensätze mit 30 Splittzeilen (je 3 Felder) dann 90 Spalten weiter rechts enden würden (also 4 oder 5 Splittzeilen sind sicherlich bisher das Maximum, aber mit der richtigen Formel/Anweisung ist das ja egal).
Ich suche also eine entsprechende VB Anweisung, mit der ich die Zielzelle jeweils errechnen oder hochzählen kann.
Hat jemand einen Tipp für mich, wäre super. Danke im Voraus!