问题:
你是我最后的希望。我已经在这个问题上工作了三天,但没有运气(互联网上的信息令人沮丧......)
我有一个宏,可以复制“主”文件(将一些模块和几张纸复制到新副本中)。其中一张复制的工作表包含几个引用“主”文件数据的枢轴和切片器。
主文件的这个副本不像主文件那样包含整个数据集,并且这些剪辑将被不同的用户使用,所以我不希望枢轴引用主数据集。所以我的挑战是更改每个枢轴的源数据(最好都在同一个PivotCache
),然后将适用的切片器连接到必要的枢轴。
我将切片器与枢轴断开的代码工作正常,我重新连接切片器的代码工作正常。我只是无法获得更改数据源的第一个支点。
令人沮丧的是,在两个不同的场合我让它工作,只是在Run-time error '13': Type mismatch
我下次测试它时让它抛出。
我的第一个想法是我对工作簿/工作表名称不够具体,因此我修改了代码以反映确切的工作簿和工作表。唉,错误仍然存在。引用的工作簿和工作表都存在,没有丢失的列标题,有一个名为 的枢轴PivotTable1
,并且我的范围设置正确。
With
错误在语句的第二行引发。
我的代码(摘录):
Dim pTable As PivotTable
Dim LEADData As Range
Dim sCache As SlicerCache
Dim pCache As PivotCache
thislastrow = Sheets("LEAD Data").Range("B" & Rows.Count).End(xlUp).Row
Set LEADData = Workbooks(cutwkbk2).Sheets("LEAD Data").Range("B9:AT" & thislastrow)
'Workbooks(cutwkbk2).Activate
With Workbooks(cutwkbk2).Sheets("Cabinet Reporting")
'Debug.Print .PivotTables("PivotTable1").SourceData
.PivotTables("PivotTable1").ChangePivotCache Workbooks(cutwkbk2).PivotCaches.Create(xlDatabase, LEADData)
End With
我也尝试过使用像 一样的数据透视索引.PivotTables(1)
,但这也会引发错误。对我来说令人困惑的部分是它是如何在两个不同的场合下工作的,但是即使测试之间没有任何变化,它也会失败......
请提出建议!我对此不知所措!