打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel VBA操作切片器切换显示不同的图表
userphoto

2022.06.26 四川

关注
excelperfect

标签:VBA切片器

在《使用Excel切片器切换图表》中,我们看到可以根据切片器中的选择来显示图表,但只是给出了简略的介绍。这段时间抽空研究了一下,给出制作过程。

切片器是显示汇总数据最有吸引力的方式之一。Excel 2010中引入的切片器是一种将数据列表显示为页面上按钮的方法。

单击按钮可以在项目列表中分离出一个项目,如下图1所示。
1

汇总表上方的切片器显示了汇总(全部)。在这个表旁边,我想显示一个图表,如果选择了全部,则显示数据的堆积柱形图,如果选择切片器框中的一个单独的区域,则显示单一的簇状柱形图,如下图2所示。
2

其实,这里创建了两个图表,一个是堆积柱形图,另一个是二维簇状柱形图。使这些图表大小相同并重叠。注意这些图表的名称,因为这将在编码过程中变得非常重要。

再回过头来,看看数据源,如下图3所示。
3

创建汇总数据表如下图4所示。
4

创建数据透视表,如下图5所示。
5

创建切片器,注意切片器的名称,如下图6所示。
6

在数据透视表工作表代码模块中输入下面的事件代码:
Private Sub Worksheet_PivotTableChangeSync(ByVal Target As PivotTable)
    Dim slItem As SlicerItem

    With ActiveWorkbook.SlicerCaches('切片器_数据')
        For Each slItem In .VisibleSlicerItems
            If slItem.Name = '全部' Then
                ActiveSheet.Shapes('Chart 1').ZOrder msoSendToBack
            Else
                ActiveSheet.Shapes('Chart 2').ZOrder msoSendToBack
            End If
        Next slItem
    End With
End Sub

结果如上图2所示。

有兴趣的朋友可以到知识星球App完美Excel社群下载示例工作簿,进一步研究。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel表格中使用不连续区域数据创建图表的方法
在Excel中怎么将柱形图移动到另一个表格中?
Excel里柱形图最美的样子
不等宽柱形图
扒出一个新技巧,Excel竟隐藏着一个自动排序的柱形图
职场必备:Excel图表美化,多组数据直观对比
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服