复制表格excel vba
问题描述:
我正在使用下面的代码将另一个工作簿中的表格复制到我的“提取”工作簿中。复制表格excel vba
此代码有效,但我需要指定我正在查找的表。我希望能够使用可以在指定表格中找到表格的程序,或者是包含数据并复制这些单元格的所有单元格。
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并将其粘贴到我的提取中。我是新的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
+0
谢谢环,它的工作原理。每张纸只有一张桌子,但我只想指定纸张并复制桌子,而不必放置桌子的标签。 –
看看这有助于https://msdn.microsoft.com/en-us/library/office/ff840732.aspx – 0m3r