如何使用VBA打开工作簿并从数据透视表复制数据

时间:2019-09-10 17:05:52

标签: excel vba

我有一些Excel文件,每个文件都包含一个数据透视表。我想将一个特定范围从该数据透视表复制到另一个Excel工作簿。 Excel文件都是按照相同的方案构建的,这意味着包含数据透视表的工作表始终具有相同的名称,而我要复制的数据始终处于相同的范围内。

我已经开始构建代码,方法是打开其中一本工作簿,使用数据透视表选择其工作表,然后在其中复制所需数据。

问题在于,似乎在设置数据透视表之前复制了范围。所以我最终复制了空单元格。

我需要等到数据透视表设置好吗?还是我需要特殊的复制命令?

Sub ImportPivotDataFromWorksheet()
    Sheets("CopyDataHere").Select
    Filename = "Report_01.xls"
    TabName = "Pivot"
    ControlFile = ActiveWorkbook.Name
    Windows(Filename).Activate

    'right now, this just copies the empty pivot cells without data
    Workbooks(Filename).Worksheets(TabName).Range("A5:C6").Copy _
        Workbooks(ControlFile).Worksheets("Tabelle2").Range("A2")

    ActiveWorkbook.Close SaveChanges:=False
    Windows(ControlFile).Activate
End Sub

0 个答案:

没有答案