ich habe folgendes Problem:
Ich habe eine formatierte Tabelle mit dem Namen "TestTable" in einem Tabellenblatt.
Über den folgenden kleinen VBA Code kann ich die Größe dieser Tabelle abhängig von einer eingetragenen Zahl in der Zelle C4 anpassen:
Sub TableResize()
Dim blockno As Byte
blockno = Range("C4").Value
ActiveSheet.ListObjects("TestTable").Resize Range(Cells(6, 16), Cells(blockno + 6, 20))
End Sub
Jetzt muss ich allerdings dieses Tabellenblatt mehrfach kopieren und dann funktioniert dieser VBA Code bei den neuen Tabellenblättern nicht mehr (Laufzeitfehler '9': Index außerhalb des gültigen Bereichs).
Der Grund ist mir klar. Die formatierte Tabelle in dem kopierten Tabellenblatt heißt nicht mehr "TestTable" sondern wurde automatisch von Excel zu "TestTable1" / "TestTable2",... umbenannt.
Wie kann ich den VBA Code so anpassen, dass er auch bei allen kopierten Tabellenblättern funktioniert unabhängig von der Nummerierung des formatierten Tabellennamens (also "TestTable1" / "TestTable2",...)?
Folgende Ideen hatte ich, weiß jedoch nicht, wie ich sie umsetzen kann:
1) Formatierte Tabelle im Code über Teil des Tabellennamens auswählen. "TestTable" ist immer im Tabellennamen enthalten und nur die automatisch ergänzte Nummerierung von Excel macht meinen Code unbrauchbar.
2) (einzige) formatierte Tabelle in diesem Tabellenblatt auswählen unabhängig vom Namen. Anmerkung: es gibt in diesen Tabellenblättern jeweils nur eine formatierte Tabelle.
Vielen Dank schon mal im Voraus für eure Hilfe!
Arno