【发布时间】:2017-02-24 19:26:49
【问题描述】:
我无法弄清楚如何使用 VBA 更改数据透视表的数据源。
我在 Sheet1 中有数据源,在 Sheet 2 中有数据源
Sheets("Sheet1").Select
LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.count - 1, 0).End(xlUp).Row
sNewSource = ActiveSheet.Name & "!" & Range("A19:X" & LastRow).Address(ReferenceStyle:=xlR1C1)
ActiveSheet.PivotTables("PivotTable1").ChangePivotCache _
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
SourceData:=sNewSource, Version:=xlPivotTableVersion14)
目前我收到一条错误消息:无法正确获取 Worksheet 类的数据透视表
我尝试查看其他解决方案,但我不知道它在哪里不起作用。
有什么想法吗?
【问题讨论】:
-
根据您在以下答案之一中的评论,您是否因为动态数据而更改数据源?如果是,首先创建一个名称范围来处理动态数据,然后将其用于数据透视表。
-
为什么 SourceData:=sNewSource 仍然无法正常工作?
-
那么当您尝试答案中给出的两个选项时会发生什么...?