VBA在PowerPivot中设置筛选条件

VBA在PowerPivot中设置筛选条件,vba,filter,powerpivot,Vba,Filter,Powerpivot,你好, 我花了很多时间寻找解决我问题的办法。我从StackOverflow和其他方面尝试了很多可能性。但我做不到 我的问题如下: 我在PowerPivot中将表加载到数据模型中。从该表中,我选择数据模型作为粘贴透视表的源。这里最大的区别是,PowerPivot使用的是.Cubefields()而不是.PivotFields() 宏记录器启动时做得很好。而且效果很好。但问题是,如果我有值a、b、c和d要过滤。它起作用了。但是如果缺少一个值,我会得到一个错误 错误处理在这里对我没有帮助,因为它不会起

你好,

我花了很多时间寻找解决我问题的办法。我从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”语句中,visible=True。但我不想要普通的数据透视表,因为我想在PowerPivot中使用我的DAX

非常感谢。我希望资料足够