Ich habe eine Arbeitsmappe TEMPLATE mit 20 Arbeitsblättern. Jedes Arbeitsblatt enthält eine dynamische Tabelle.
Ich habe zudem 5 baugleiche Arbeitsmappen PART01 - PART05 mit den gleichen 20 Arbeitsblättern. Sie enthalten ebenfalls pro Arbeitsblatt eine dynamische Tabelle.
Meine Aufgabe:
- Alle dynamischen Tabellen der Arbeitsmappe TEMPLATE leeren
- Die Inhalte der Arbeitsblätter der 5 Arbeitsmappen PART01 bis PART05 in die jeweiligen Tabellen der Arbeitsblätter der Arbeitsmappe TEMPLATE kopieren.
Es geht mir hierbei nicht um die Technik zum Öffnen/Schließen der Arbeitsmappen, sondern einzig um den Umgang mit den dynamischen Tabellen.
Möchte ich beispielsweise die Tabellen in der Arbeitsmappe TEMPLATE leeren, würde ich bei "normalen" Tabellen so verfahren:
For cleanupStep = 0 To 19
curLastCol = Workbooks(theTemplate).Worksheets(wsName(cleanupStep)).Cells(2, 256).End(xlToLeft).Column
curLastRow = Workbooks(theTemplate).Worksheets(wsName(cleanupStep)).Cells(Rows.Count, 1).End(xlUp).Row
Workbooks(theTemplate).Worksheets(wsName(cleanupStep)).Range(Cells(2, 1), Cells(curLastRow, curLastCol)).ClearFormats
Workbooks(theTemplate).Worksheets(wsName(cleanupStep)).Range(Cells(2, 1), Cells(curLastRow, curLastCol)).ClearContents
Next cleanupStep
Problem 1: Nur die Tabelle des ersten Arbeitsplattes wird geleert. Danach Laufzeitfehler.Ich habe auch schon versucht, einfach nur die Rows zu löschen, was zwar funktioniert, aber irgendwie nicht die Lösung sein soll.
Problem 2: Es bleibt beim Löschen der Rows immer eine Zeile der dynamischen Tabelle über.
Aufgrund des Abbruchs nach Arbeitsblatt 1 der Arbeitsmappe TEMPLATE bin ich noch nicht beim Kopieren der Daten aus Part01-Part05.
Ich denke, ich muss erstmal verstehen, wie man via VBA mit den dynamischen Tabellen umgehen muss.