Arrays Excel VBA切片器-根据是否找到值调整数组

Arrays Excel VBA切片器-根据是否找到值调整数组,arrays,excel,vba,slicers,Arrays,Excel,Vba,Slicers,我有一个仪表板,用于预测3项任务的到期/过期状态,测量值如下: 逾期超过15个月 逾期14-15个月 逾期12-14个月 1-30天内到期 31-90天内到期 有3个链接切片器(名为-MDT、BRP、BCE),允许用户为每个任务选择特定状态或状态组合,然后反映到仪表板中 为了方便用户,我想引入一个按钮,将所有3个切片器设置为只显示“过期”的内容,代码如下。当每个任务的所有3个“过期”状态都出现时,这就可以正常工作 我遇到的问题是,这些“过期”状态中的任何一个丢失,导致“运行时错误1004:在

我有一个仪表板,用于预测3项任务的到期/过期状态,测量值如下:

  • 逾期超过15个月
  • 逾期14-15个月
  • 逾期12-14个月
  • 1-30天内到期
  • 31-90天内到期
有3个链接切片器(名为-MDT、BRP、BCE),允许用户为每个任务选择特定状态或状态组合,然后反映到仪表板中

为了方便用户,我想引入一个按钮,将所有3个切片器设置为只显示“过期”的内容,代码如下。当每个任务的所有3个“过期”状态都出现时,这就可以正常工作

我遇到的问题是,这些“过期”状态中的任何一个丢失,导致“运行时错误1004:在OLAP多维数据集中找不到项”

我是VBA新手,在设置代码以识别和过滤任何“过期”值组合时遇到困难。有人能帮我写一个代码吗

`

`

ActiveWorkbook.SlicerCaches("Slicer_MDT").VisibleSlicerItemsList _
    = Array( _
    "[Range].[MDT].&[Overdue >15 Months]", _
    "[Range].[MDT].&[Overdue 14-15 Months]", _
    "[Range].[MDT].&[Overdue 12-14 Months]")
ActiveWorkbook.SlicerCaches("Slicer_BRP").VisibleSlicerItemsList _
    = Array( _
    "[Range].[BRP].&[Overdue >15 Months]", _
    "[Range].[BRP].&[Overdue 14-15 Months]", _
    "[Range].[BRP].&[Overdue 12-14 Months]")
ActiveWorkbook.SlicerCaches("Slicer_BCE").VisibleSlicerItemsList _
    = Array( _
    "[Range].[BCE].&[Overdue >15 Months]", _
    "[Range].[BCE].&[Overdue 14-15 Months]", _
    "[Range].[BCE].&[Overdue 12-14 Months]")