Excel 2013 vba-刷新数据透视表-循环
我有一些vb代码,可以为我刷新数据透视表,有没有一种方法可以循环,这样我就可以刷新数据透视表1到20?而不是在下面列出20行代码,例如Excel 2013 vba-刷新数据透视表-循环,vba,excel,Vba,Excel,我有一些vb代码,可以为我刷新数据透视表,有没有一种方法可以循环,这样我就可以刷新数据透视表1到20?而不是在下面列出20行代码,例如 ActiveWorkbook.PivotTables(1).PivotCache.Refresh ActiveWorkbook.PivotTables(2).PivotCache.Refresh ActiveWorkbook.PivotTables(3).PivotCache.Refresh 等等 非常感谢 试试这个: 选项显式 Sub RefresfPivo
ActiveWorkbook.PivotTables(1).PivotCache.Refresh
ActiveWorkbook.PivotTables(2).PivotCache.Refresh
ActiveWorkbook.PivotTables(3).PivotCache.Refresh
等等
非常感谢 试试这个:
选项显式
Sub RefresfPivotTables()
Sheets("YOUR_SHEET").Select
Dim i As Integer
For i = 1 To 20
ActiveSheet.PivotTables("PivotTable" & i).PivotCache.Refresh
Next i
End Sub
试试这个:
选项显式
Sub RefresfPivotTables()
Sheets("YOUR_SHEET").Select
Dim i As Integer
For i = 1 To 20
ActiveSheet.PivotTables("PivotTable" & i).PivotCache.Refresh
Next i
End Sub
例如:如果要刷新工作簿中的所有pivot缓存,可以执行以下操作:
Sub RefreshPivotCache()
Dim ws As Worksheet
Dim PT As PivotTable
For Each ws In ActiveWorkbook.Worksheets '<~~ Loop all worksheets in workbook
For Each PT In ws.PivotTables '<~~ Loop all pivot tables in worksheet
PT.PivotCache.Refresh
Next PT
Next ws
End Sub
子刷新数据透视缓存()
将ws设置为工作表
数据透视表
例如,对于ActiveWorkbook.Worksheets'中的每个ws:如果要刷新工作簿中的所有pivot缓存,可以执行以下操作:
Sub RefreshPivotCache()
Dim ws As Worksheet
Dim PT As PivotTable
For Each ws In ActiveWorkbook.Worksheets '<~~ Loop all worksheets in workbook
For Each PT In ws.PivotTables '<~~ Loop all pivot tables in worksheet
PT.PivotCache.Refresh
Next PT
Next ws
End Sub
子刷新数据透视缓存()
将ws设置为工作表
数据透视表
对于ActiveWorkbook.Worksheets'中的每个ws,您可以使用它,它还将遍历工作簿中的每个工作表,以及每个工作表中的每个透视表,并刷新和更新该表
Sub RefreshPivotData()
Dim pvotCht As PivotTable, Sheet As Worksheet
For Each Sheet In ThisWorkbook.Worksheets
For Each pvotTbl In Sheet.PivotTables
pvotTbl.RefreshTable
pvotTbl.Update
Next
Next
ThisWorkbook.Save
End Sub
您可以使用它,它还将遍历工作簿中的每个工作表,以及每个工作表中的每个透视表,并刷新和更新该表
Sub RefreshPivotData()
Dim pvotCht As PivotTable, Sheet As Worksheet
For Each Sheet In ThisWorkbook.Worksheets
For Each pvotTbl In Sheet.PivotTables
pvotTbl.RefreshTable
pvotTbl.Update
Next
Next
ThisWorkbook.Save
End Sub
嗨,我想这是最好的解决方案,所以我可以指定轴的数量。然而,有时pivot连接到只读文件,只读文件处于打开状态,我可以在vb外部刷新,但当我尝试从vb运行时,会出现1004错误。有什么可以补充的吗?非常感谢!嗨,我想这是最好的解决方案,所以我可以指定轴的数量。然而,有时pivot连接到只读文件,只读文件处于打开状态,我可以在vb外部刷新,但当我尝试从vb运行时,会出现1004错误。有什么可以补充的吗?非常感谢!