Excel 使用VBA更改透视表报表筛选器
我有一个VBA代码,它根据单元格更改透视表报表过滤器 对于字母数字的输入,这一切都可以正常工作。当输入是一个数字时,我得到一个错误 代码如下:Excel 使用VBA更改透视表报表筛选器,excel,pivot-table,vba,Excel,Pivot Table,Vba,我有一个VBA代码,它根据单元格更改透视表报表过滤器 对于字母数字的输入,这一切都可以正常工作。当输入是一个数字时,我得到一个错误 代码如下: Sub ProjSelect_PivotsUpdate() Dim Selected_Proj Selected_Proj = Worksheets("Parameters").Range("SelectedProj") ActiveSheet.PivotTables("PivotTable1").PivotFields("Pr
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”:
应用程序定义或对象定义错误
您需要将范围(“SelectedProj”)格式设置为字符串,或者在输入数字之前只需简单地添加即可。修剪该值将解决您的问题
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
我还将dim行更改为:dim Selected_Proj作为字符串,但它不起作用。另外-在数字之前添加字符是不可行的,因为项目名称来自数据库。我重新测试了宏,发现如果筛选器不包含您刚才选择的值,则会出现此错误,但如果值位于筛选器上,则不会出现错误。