CSV am Ende einer Exceltabelle einfügen?

2 Antworten

Die letzte belegte Zelle einer Tabelle erhältst du mit

Tabelle.Cells.SpecialCells(xlLastCell)

Leider berücksichtigt Excel nicht, wenn Bereiche gelöscht werden, sodass eine einmal belegte Zeile immer in die Zeile der letzten Zelle eingeht, ebenso für die Spalten.

Immerhin kann man die Zeilen durchgehen und nachsehen, ob etwas darin steht.

Du könntest z. B. die Daten aus der Importtabelle in die Sammeltabelle wie folgt kopieren:

Range(Importtabelle.Cells(1,1), Importtabelle.Cells.SpecialCells(xlLastCell)).Copy(Sammeltabelle.Cells(Sammeltabelle.SpecialCells(xlLastCell).Row+1,1))

"ans Ende der Tabelle": Wenn du die Spalte kennst (hier A), bekommst Du die letzte Zelle angesteuert mit

Range("A1048576").end(xlup)

und die erste freie mit

Range("A1048576").end(xlup).offset(1., 0)

Das ist sicherer als Range("A1").end(xldown), da freie Zellen diesen Vorgang stören würden.

ist die letzte Zelle in einer unbekannten Spalte, muss man das zB so machen wie P.Wolff das beschreibt, aber dann noch die erste Spalte und die Zelle darunter ansteuern, denn Du willst die CSV-Datei ja nicht an die letzte Zelle selbst anhängen, nehme ich an, zB mit

Tabelle.Cells.SpecialCells(xlLastCell).offset(1, 0).end(xltoleft)