excel - 清除活动工作表上的特定切片器
问题描述
我在工作表上有两个切片器。一个叫Region,一个叫Hospital。我正在尝试在页面上创建两个按钮。一种只清除医院切片机;另一个仅清除活动工作表上的区域切片器。我有一个按钮可以清除活动工作表上的所有切片器(下面的代码),但我很难让它只与特定的切片器一起工作。
Sub ClearSlicer()
'
'Clears Slicer on main dashboard page
'
Dim Slcr As SlicerCache
Dim slc As Slicer
Application.ScreenUpdating = False
For Each Slcr In ActiveWorkbook.SlicerCaches
For Each slc In Slcr.Slicers
If slc.Shape.Parent Is ActiveSheet Then
Slcr.ClearManualFilter
Exit For
End If
Next slc
Next Slcr
Application.ScreenUpdating = True
End Sub
我尝试添加
ActiveWorkbook.SlicerCaches("Hospital")
,但这似乎也不起作用。这引发了一个我无法纠正的调试错误。
我已经在这里搜索过,但还没有找到,所以如果我碰巧错过了,我很抱歉。这里的任何帮助都会有所帮助。谢谢
解决方案
您可以参考 a Slicer
by .Name
:
Sub ClearSlicer()
'
'Clears Slicer on main dashboard page
'
Dim Slcr As SlicerCache
Dim slc As Slicer
Application.ScreenUpdating = False
For Each Slcr In ActiveWorkbook.SlicerCaches
For Each slc In Slcr.Slicers
If slc.Name = "Region" Or slc.Name = "Hospital" Then
Slcr.ClearManualFilter
End If
Next slc
Next Slcr
Application.ScreenUpdating = True
End Sub
如果您不确定切片器名称,也许使用Like
:
If slc.Name Like "*Region*" Or slc.Name Like "*Hospital*" Then
(尽管您可能需要检查切片器是否与ActiveSheet
您当前一样)。
推荐阅读
- php - 使用 php 从弹性 beantalk 将文件上传到 aws s3 时无法使用模式 r 打开:fopen()
- ios - swift 如何在几个ViewControllers中查看downloadTask的进度
- tcl - 运行 tcl 脚本时出现“无效的命令名”W“”
- android - 如何在 Android 上使用 MediaStore 备份 sqlite db 文件?
- c - 为什么这个项目总是在 Makefile 中执行?
- json - 如何使用 sql 查询从 postgresql 表创建单个 json 字符串
- python - Jupyter 导入 Python 函数
- php - 使用 PHPUnit + Mockery 的静态属性和方法测试函数
- c++ - UWP - 使用 C 代码编写文件
- html - 移动视图中的css滚动捕捉跳过元素