Ok.
Dann noch mal zu deiner ursprünglichen Zeile:
wbSource.Worksheets(2).ListObjects("myTable").Range.Copy ThisWorkbook.Worksheets(2).ListObjects("myTable")
Aus der Doku kann man erkennen:
Range.Copy-Methode (Excel)
Kopiert den Bereich in den angegebenen Bereich oder in die Zwischenablage.
Destination |
Optional |
Variant |
Gibt den neuen Bereich an, in den der angegebene Bereich kopiert wird. Fehlt dieses Argument, kopiert Microsoft Excel den Bereich in die Zwischenablage. |
Also erwartet Range.Copy als Parameter ein Range-Objekt. Dein Argument für den Parameter Destination ist dieser:
ThisWorkbook.Worksheets(2).ListObjects("myTable")
Wiederum kann man aus der Doku schließen:
ListObjects(Index) liefert eine Objekt-Instanz von ListObject. Ergo: ListObject ist keine Range => BäM! Problem.
Wie gelangt man nun an die Range von dem ListObject (welches ja einen Tabellenbereich auf dem Tabellenblatt darstellt)? Auch das verrrät einem die Doku. Über seine Range / DataBodyRange Eigenschaft - ersteres liefert den Bereich der gesamten Tabelle; zweiteres nur den Datenteil, sprich ohne der Kopfzeile.
Also
z.B.
wbSource.Worksheets("Blatt1").ListObjects("Tabelle1").DataBodyRange.Copy ThisWorkbook.Worksheets("Blatt2").Range("B8")
Oder, vielleicht noch etwas "schöner" lesbar:
Dim tblSource As Excel.ListObject
Dim rngTarget As Excel.Range
Set tblSource = wbSource.Worksheets("Blatt1").ListObjects("Tabelle1") 'Quelle (ListObject-Tabelle)
Set rngTarget = ThisWorkbook.Worksheets("Blatt2").Range("B8") 'Ziel (Range)
'den Datenbereich kopieren wir in den Zielbereich (hier ist das die Zelle B8)
tblSource .DataBodyRange.Copy Destination:=rngTarget
(der Code ist blind geschrieben, d.h. ungetestet)
Grüße
PS: Ich hoffe das ich dir hiermit eine Sache näher bringen konnte, nämlich dass der Umgang mit der Doku beim Programmieren essenziell ist, um vorran zu kommen. Man ist gut beraten mit ihr umgehen zu können.
Die Leute in Foren haben das meiste Zeug auch nur aus der Doku sich selber beigebracht; und aus über hunderte/tausenden von Praxisstunden - so funktioniert das.
|