如何解决VBA 在 PowerPivot 中设置过滤条件
你好
我花了很多时间寻找解决我的问题的方法。我从 StackOverflow 和其他方面尝试了很多可能性。但我做不到。
我的问题如下:
我有一个表加载到 PowerPivot 中的数据模型中。从该表中,我选择了数据模型作为粘贴数据透视表的来源。这里最大的区别是,PowerPivot 使用 .Cubefields() 而不是 .PivotFields()。
宏记录器开始时做得很好。它运作良好。但问题是,如果我有值 a、b、c 和 d 来过滤。有用。但如果缺少一个值,我就会收到错误消息。
错误处理在这里对我没有帮助,因为它什么也不做。
Sub powerPivot()
'
' powerPivot Makro
'
With ActiveSheet.PivotTables("PivotTable2").CubeFields( _
"[tbl_stackoverflow].[Col_a]")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable2").CubeFields(1).EnableMultiplePageItems = _
True
ActiveSheet.PivotTables("PivotTable2").PivotFields( _
"[tbl_stackoverflow].[Col_a].[Col_a]").VisibleItemsList = Array( _
"[tbl_stackoverflow].[Col_a].&[B]","[tbl_stackoverflow].[Col_a].&[D]","[tbl_stackoverflow].[Col_a].&[E]")
End Sub
我知道我可以使用普通的数据透视表。在这种情况下,我只能在“With/end”语句中的每个 PivotItems(value).visible=True 之后加上“On Error resume next”。但我不想拥有普通的数据透视表,因为我想在 PowerPivot 中使用我的 DAX。
非常感谢。我希望信息是足够的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。