我正在尝试创建一个宏,该宏将根据用户输入自动调整几个数据透视表的过滤器,但是,如果用户输入了一些不可用的内容,则代码在尝试应用过滤器时会产生错误。
无论如何,有没有检查可供选择的过滤器?
示例:一个数据透视表具有三个可用的过滤器(“年,月”,“投诉,赞扬,两者都键入”),但是如果一个月内没有任何投诉,则说明有错误。
码:
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/