运行时错误';1004';无法在Excel 2010中设置工作表类的visible属性,而不是在2013中
我有一个VBA,它在Office 2013中运行良好,而不是在2010中给出附加错误。有没有关于如何调整它的想法运行时错误';1004';无法在Excel 2010中设置工作表类的visible属性,而不是在2013中,excel,vba,pivot-table,Excel,Vba,Pivot Table,我有一个VBA,它在Office 2013中运行良好,而不是在2010中给出附加错误。有没有关于如何调整它的想法 Sub UpdateDatesPivots_2019() Sheets("2019 dates").Select ActiveSheet.PivotTables("PivotTable4").PivotCache.Refresh ActiveSheet.PivotTables("PivotTable4").RefreshTable Pivot1 = C
Sub UpdateDatesPivots_2019()
Sheets("2019 dates").Select
ActiveSheet.PivotTables("PivotTable4").PivotCache.Refresh
ActiveSheet.PivotTables("PivotTable4").RefreshTable
Pivot1 = Cells(3, 13)
ActiveSheet.PivotTables(Pivot1).PivotCache.MissingItemsLimit = xlMissingItemsNone
ActiveSheet.PivotTables(Pivot1).PivotCache.Refresh
ActiveSheet.PivotTables(Pivot1).RefreshTable
ActiveSheet.PivotTables(Pivot1).PivotFields("run_date").ClearAllFilters
For i = 5 To 1462
Date1 = Cells(i, 23)
Date2 = Cells(3, 14)
If Date1 <= Date2 And Date1 <> Empty Then
With ActiveSheet.PivotTables(Pivot1).PivotFields("run_date")
.PivotItems(Date1).Visible = True
End With
End If
If Date1 > Date2 And Date1 <> Empty Then
With ActiveSheet.PivotTables(Pivot1).PivotFields("run_date")
.PivotItems(Date1).Visible = False
End With
End If
Next i
ActiveSheet.PivotTables(Pivot1).RefreshTable
ActiveSheet.PivotTables(Pivot1).PivotFields("run_date").CurrentPage = "(All)"
End Sub
但在2013年效果良好吗?我能做些什么调整吗
我查看了其他论坛,并添加了代码,以确保有项目,清除了旧的缓存项目,但在Excel 2010上似乎没有任何东西可以修复它。我不确定2013年或更高版本,但2010年及以前版本的数据透视项目确实存在问题。最可靠的解决方案是将源数据的格式更改为general,更新pivot表,然后在引用项目时使用日期的数字值。我假设代码中还有更多内容,因为所有这些看起来都有点毫无意义——添加更多的上下文。我在for(Date1)中从上到下查找一个范围内的所有可能日期,并将其与Date2进行比较,Date2指的是一个单元格,其中包含我希望在透视中选择的最大日期。
.PivotItems(Date1).Visible = True