0

我有一个 VBA 代码,可以根据单元格更改数据透视表报告过滤器。

这一切都适用于字母数字输入。当输入是数字时,我得到一个错误。

这是代码:

Sub ProjSelect_PivotsUpdate()
    Dim Selected_Proj

    Selected_Proj = Worksheets("Parameters").Range("SelectedProj")
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Project").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Project").CurrentPage = _
    Selected_Proj
End Sub

这是错误代码:

运行时错误“1004”:

应用程序定义或对象定义的错误。

4

2 回答 2

1

修剪该值将解决您的问题。

Sub ProjSelect_PivotsUpdate()
    Dim Selected_Proj

    Selected_Proj = Worksheets("Parameters").Range("SelectedProj")
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Project").ClearAllFilters
    ActiveSheet.PivotTables("PivotTable1").PivotFields("Project").CurrentPage =  Trim(Selected_Proj)
End Sub
于 2013-10-14T10:46:29.130 回答
0

您需要将 Range("SelectedProj") 格式设置为字符串,或者在输入数字之前只需简单地添加 '。

于 2013-09-24T10:08:04.453 回答