Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA类型不匹配,使用For-Each循环将数据透视表连接到切片器_Vba_Collections_Foreach_Pivot Table_Type Mismatch - Fatal编程技术网

VBA类型不匹配,使用For-Each循环将数据透视表连接到切片器

VBA类型不匹配,使用For-Each循环将数据透视表连接到切片器,vba,collections,foreach,pivot-table,type-mismatch,Vba,Collections,Foreach,Pivot Table,Type Mismatch,下面给出了一个类型不匹配 我受注释和工作行的启发,制作了一个简单的宏,将所有数据透视表连接到所有切片器。我有一个很大的数据集,我想用切片器过滤器为它选择不同的子集,然后看到所有的数据透视表都在更新 现在,我相信这很简单,很高兴有人能帮我 Sub ConnectSlicers_Pivottables() 'ActiveWorkbook.SlicerCaches("Slicer_Country").PivotTables.AddPivotTable_ (ActiveSheet.PivotTable

下面给出了一个类型不匹配

我受注释和工作行的启发,制作了一个简单的宏,将所有数据透视表连接到所有切片器。我有一个很大的数据集,我想用切片器过滤器为它选择不同的子集,然后看到所有的数据透视表都在更新

现在,我相信这很简单,很高兴有人能帮我

Sub ConnectSlicers_Pivottables()

'ActiveWorkbook.SlicerCaches("Slicer_Country").PivotTables.AddPivotTable_
(ActiveSheet.PivotTables("PivotTable1"))

Dim SC As SlicerCache
Dim PT As PivotTable

For Each SC In ActiveWorkbook.SlicerCaches
For Each PT In ActiveSheet.PivotTables

SC.PivotTables.AddPivotTable (PT)

Next PT
Next SC

End Sub

是的,它不直接起作用。只需通过调用数据透视表的名称进行小的调整:


sc.PivotTables.AddPivotTable(ActiveSheet.PivotTables(pt.Name))

我也有同样的问题。只有代码
ActiveSheet。数据透视表(“数据透视表1”)
可以正常工作。我激活了工作表,然后使用“宏”代码而不是usind变量。