本文介绍了VBA代码 - 如果切片器包含在Excel工作表中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在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工作表中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-17 19:50