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

我有以下代码…

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

我将如何改变它从“页面”拉任何当前工作表名称,我想尝试。

例如,如果我在一个名为“网页”的工作表上运行它,它会给我一个错误,我将如何将其更改为接受任何工作表名称?

只需声明一个variables并使用它:

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

这是未经testing,但我很确定,应该工作。

 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