Excel VBA数据透视表数据源问题

时间:2016-01-07 19:47:42

标签: excel excel-vba pivot-table excel-2013 vba

我有以下代码......

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    "page!R2C1:R1981C43", Version:=xlPivotTableVersion15).CreatePivotTable _
    TableDestination:="", TableName:="PivotTable5", DefaultVersion _
    :=xlPivotTableVersion15

我如何从"页面"更改它?拉取我想要尝试的任何当前工作表名称。

例如,如果我在名为" pages"的工作表上运行它。它给了我一个错误,如何更改它以接受任何工作表名称?

2 个答案:

答案 0 :(得分:1)

只需声明一个变量并使用:

Dim myWorksheet as Worksheet
Set myWorksheet = Activesheet

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    myWorksheet & "!R2C1:R1981C43", Version:=xlPivotTableVersion15).CreatePivotTable _
    TableDestination:="", TableName:="PivotTable5", DefaultVersion _
    :=xlPivotTableVersion15

这是未经测试的,但我很确定它应该可行。

答案 1 :(得分:0)

Dim wbpage as worksheet

set wbpage = thisworkbook.sheets(1) 'or whatever

ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    wbpage.name & "!R2C1:R1981C43", Version:=xlPivotTableVersion15).CreatePivotTable _
    TableDestination:="", TableName:="PivotTable5", DefaultVersion _
    :=xlPivotTableVersion15