问题描述
在VBA中,我想检查是否包含特定切片器(可见)。 我正在设置一个宏来根据条件添加/删除特定切片器,因此需要检查切片器是否已包含在工作表中。 以下"真实"声明
无效。
Within VBA I would like to check if specific slicers are included (visible). I'm setting up a macro to add/delete specific slicers based on criteria, so need to check if a slicer is already included on sheet. The below "true" statement isn't working.
在下面的示例中,如果工作表中已包含PO_DEV_TEAM切片器,则将其删除。
In below example, if PO_DEV_TEAM slicer is already included on sheet, then delete it.
如果ActiveSheet.Shapes.Range(数组("PO_DEV_TEAM"))。可见=真然后
If ActiveSheet.Shapes.Range(Array("PO_DEV_TEAM")).Visible = True Then
ActiveSheet.Shapes.Range(Array(" PO_DEV_TEAM"))。。选择
Selection.Delete
ActiveSheet.Shapes.Range(Array("PO_DEV_TEAM")).Select
Selection.Delete
结束如果
End If
谢谢,Trina
推荐答案
你可以使用 的 Shapes.Item
方法 获取切片器对象并直接删除它。如果没有这样的切片器,你只需要处理错误。
这里是示例
Sub DeleteSlicer()
On Error GoTo ErrorHandler
ActiveSheet.Shapes.Item("PO_DEV_TEAM").Delete
Exit Sub
ErrorHandler:
MsgBox "There is no such Slicer"
End Sub
问候,
Celeste
这篇关于VBA代码 - 如果切片器包含在Excel工作表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!