乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>Excel</em>中用VBA脚本实现断开一个切片器与所有透视表的连接

<em>Excel</em>中用VBA脚本实现断开一个切片器与所有透视表的连接

作者:乔山办公网日期:

返回目录:excel表格制作


我的数据源没法提供,是机密。
你随便用个源做两个表,录个动画给我看下。

经测试,通过 SlicerCache 对象中的 PivotTable 时不好传入作为索引号的变量,或许e799bee5baa6e997aee7ad94e59b9ee7ad94331是微软的 BUG,我把 ActiveWorkbook.SlicerCaches("Slicer_Year").PivotTables.Item(i) 中的变量 i 改成 1 即可成功引用到名为 "Slicer_Year" 这个切片器缓存里面的数据透视表对象。


下面是一个通用的移除到指定切片器缓存的所有数据透视表连接的 SUB 过程:

' ####################################################################
' [功能描述] 切断到指定切片器缓存的所有数据透视表连接.
' [参数列表] 1. Target                  目标工作簿;
'            2. SlicerCacheNameOrIndex  切片器缓存名称或索引号 (可选).
' [返回类型] 无.
' ####################################################################
Public Sub DisconnectAllPivotTablesFromSlicerCache(ByVal Target As Workbook, _
                                                   ByVal SlicerCacheNameOrIndex As Variant)
    Dim sliCache    As SlicerCache
    Dim sliCaches   As SlicerCaches
    
    On Error Resume Next
    
    Set sliCaches = Target.SlicerCaches
    
    If sliCaches.Count Then
        Dim spTables As SlicerPivotTables
        
        Set sliCache = sliCaches(SlicerCacheNameOrIndex)
        Set spTables = sliCache.PivotTables
        
        While spTables.Count
            spTables.RemovePivotTable 1
        Wend
    End If
    
    Set spTables = Nothing
    Set sliCache = Nothing
    Set sliCaches = Nothing
End Sub


调用如下:

DisconnectAllPivotTablesFromSlicerCache ActiveWorkbook, "Slicer_Year"

如果你的 "Slicer_Year" 的索引号是 1,那么也可以这样调用

DisconnectAllPivotTablesFromSlicerCache ActiveWorkbook, 1


运行效果:


最好能把文件传上来,方便分析

一定要展示copy出切片器么?不展示的话直接用筛选也可以的啊

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "$B$13" Then

    With ActiveWorkbook.SlicerCaches("切片器_a1")

        For Each Item In .SlicerItems

            If Item.Caption = Target.Text Then

                Item.Selected = True

                Else

                Item.Selected = False

            End If

        Next

    End With

End If

End Sub

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网