我有以下代码
Dim S As Range
Set S = Range(Sheets(1).Cells(4, 2), Sheets(1).Cells(18, 9))
Sheets(4).PivotTables("PivotTable1").ChangePivotCache ThisWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:=S, Version:=xlpivotversion14)
这给了我一个“无效的过程或参数”错误!
然而,当我使用范围而不是“S”时,如下所示:
Sheets(4).PivotTables("PivotTable1").ChangePivotCache ThisWorkbook. _
PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
"C:\Users\Matt\Desktop\[FY19_Proposed_Sheet_V2.xlsm]Proposed Projects!R5C1:R29C18" _
, Version:=xlPivotTableVersion14)
我没有错误!
我想使用“S”,以便我可以主动更改和更新它。代码中指定的固定范围是假设的。
谢谢, 马特!
答案 0 :(得分:0)
这是因为您必须提供一个字符串,引用您希望设置为Range
的{{1}}。以下内容适用:
SourceData
不是最短/最optimezed的代码,但它毕竟是一个样本。