更改数据透视表报告使用VBA过滤

时间:2013-09-24 09:28:50

标签: excel excel-vba pivot-table vba

我有一个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':

     

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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