首页 文章

复制表excel vba

提问于
浏览
1

我使用下面的代码将表从另一个工作簿复制到我的“提取”工作簿 .

此代码有效,但我需要指定我要查找的表 . 我希望使用一个可以找到指定工作表中的表的程序,或者包含数据的所有单元格并复制这些单元格 .

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

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

1 回答

  • 0

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

    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
    

相关问题