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