设置VBA pivotfields.currentpage时出错

时间:2014-02-05 20:22:48

标签: excel vba excel-vba

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

无论如何都要检查哪些过滤器可供选择?

示例:一个数据透视表有三个可用的过滤器(年,月,类型[投诉,赞美,两者])但如果在一个月内没有任何投诉,则会出现错误。

代码:

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

1 个答案:

答案 0 :(得分:3)

继续我的评论,试试这个

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