复制表excel vba

我正在使用下面的代码将其他工作簿中的表复制到“提取”工作簿中。

这个代码有效,但我需要指定我正在寻找哪个表。 我希望使用一个程序,可以find指定表中的表,或所有包含数据的单元格,并复制这些单元格。

Sub SelectingTable() Set Extract = Workbooks("Test1") Set Pastdue = Workbooks("Past Due Data") 'Look for Past Due table Pastdue.Activate Pastdue.Worksheets("Sheet1").ListObjects("Table4").DataBodyRange.Copy 'Paste table in extract Extract.Activate Extract.Paste Destination:=Worksheets("Sheet1").Range("B10") End Sub 

在这个代码中,我基本上是在过去的工作簿中查找table4,并将其粘贴到我的Extract中。 我是新的excel vba,所以我希望你能帮助我。 谢谢。

嗯,你想提取一个特定的表或复制所有的表? 对于后者,您可以循环遍历所有表格

 Sub SelectingTable() Dim tbl as listObject Set Extract = Workbooks("Test1") Set Pastdue = Workbooks("Past Due Data") 'Loop through table pasteRow = 1 'set which row to paste For each tbl in Pastdue.Worksheets("Sheet1").ListObjects rowsCount = tbl.range.rows.count - 1 'minus header tbl.DataBodyRange.Copy extract.worksheets("Sheet1").cells(pasteRow,1) pasteRow = rowsCount +3 next tbl End Sub