微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Excel VBA 切片器 - 根据找到或未找到的值进行调整的数组

如何解决Excel VBA 切片器 - 根据找到或未找到的值进行调整的数组

我有一个仪表板,用于预测 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]")

`

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。