所以我在使用VBA和切换数据透视表过滤器时遇到了一些问题。这是我的代码:
Sub Macro2()
Sheets("Report").Visible = True
Sheets("Report").PivotTables("PivotTable1").PivotCache.Refresh
Sheets("Report").PivotTables("PivotTable1").PivotFields("dwm").ClearAllFilters
Sheets("Report").PivotTables("PivotTable1").PivotFields("dwm").CurrentPage = "1"
Sheets("Report").Activate
End Sub
我尝试过使用“1”,1,1.0并没有运气。我得到的错误是:
“应用程序定义或对象定义的错误”
感谢任何帮助。
答案 0 :(得分:0)
出于某种原因,Excel 2013可能是这里的问题。如果有其他人遇到此问题,我设法找到了解决方法。我使用了一个循环,可以让我编辑字段的可见性。这是解决方案:
Sub CreateReport()
Sheets("Report").Visible = True
Sheets("Report").PivotTables("PivotTable1").PivotCache.Refresh
Sheets("Report").PivotTables("PivotTable1").PivotFields("dwm").ClearAllFilters
Dim pi As PivotItem
For Each pi In Sheets("Report").PivotTables("PivotTable1").PivotFields("dwm").PivotItems
If pi.Value = 0 Then
pi.Visible = False
End If
Next pi
Sheets("Report").Activate
End Sub