VBA无法更改数据透视缓存

时间:2015-02-03 09:10:27

标签: excel vba

您好我的代码不起作用。它似乎昨天工作,我现在得到一个类型不匹配。有任何想法吗?错误行是实际尝试更改源时的最后一行。

Dim IRDatabaseToUse As String
Dim Pt As PivotTable
Dim IRwb As Workbook
Dim IRRange As Range

Set IRwb = Workbooks.Open(Filename:=IRDatabaseToUse, ReadOnly:=True)

    Application.DisplayAlerts = True

    LRow = IRwb.Sheets("Data").Range("A1").End(xlDown).Row

Set IRRange = Workbooks(Dir(IRDatabaseToUse)).Sheets("Data").Range("A1:O" & LRow)

Pivots.PivotTables("IRDatabase1").ChangePivotCache ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=IRRange)

1 个答案:

答案 0 :(得分:0)

解决了这个问题。

更改了最后几行代码,因为我认为IRRange可能没有引用正确的工作表。似乎现在已经有效了。

Set IRRange = IRwb.Sheets("Data").Range("A1:O" & LRow)

x = "'[IR Database 2014.xlsb]Data'!" & IRRange.Address

Pivots.PivotTables("IRDatabase1").ChangePivotCache ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=x)