我正在尝试创建一个宏,该宏将根据用户输入自动调整几个数据透视表的过滤器,但是,如果用户输入了一些不可用的内容,则代码在尝试应用过滤器时会产生错误。

无论如何,有没有检查可供选择的过滤器?

示例:一个数据透视表具有三个可用的过滤器(“年,月”,“投诉,赞扬,两者都键入”),但是如果一个月内没有任何投诉,则说明有错误。

码:

With PTable
    .PivotFields("Year").CurrentPage = Y
    .PivotFields("Month").CurrentPage = M
    .PivotFields("Type").CurrentPage = T 'Error line if T isn't valid
End With

最佳答案

除了我的评论,试试这个

With PTable
    .PivotFields("Year").CurrentPage = Y
    .PivotFields("Month").CurrentPage = M
    On Error Resume Next
    .PivotFields("Type").CurrentPage = T 'Error line if T isn't valid
    If Err.Number <> 0  Then
        Msgbox "Filter Didn't get applied"
    End If
    On Error GoTo 0
End With

关于excel - 设置VBAivotfields.currentpage时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21587688/

10-12 02:51