![Excel 2013 数据透视表自动排序顺序](https://linux22.com/image/1551580/Excel%202013%20%E6%95%B0%E6%8D%AE%E9%80%8F%E8%A7%86%E8%A1%A8%E8%87%AA%E5%8A%A8%E6%8E%92%E5%BA%8F%E9%A1%BA%E5%BA%8F.png)
我有一个工作簿,其中有多个数据透视表,根据数据行计算合规百分比。每次我更新数据行并刷新数据透视表时,合规百分比都会发生变化。我希望数据透视表按从最小百分比到最大百分比排序。目前,每次刷新工作簿时,我都会单击每个数据透视表并将其按排序顺序排列。
有没有办法将数据透视表设置为在刷新时始终按 A 到 Z 排序?
答案1
如果你想自动化刷新并排序所有数据透视表的过程,每当输入或更新数据时,下面编写的 VBA 代码可以帮助您做到这一点。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Wrkst As Excel.Worksheet
Dim PvtBL As Excel.PivotTable
For Each Wrkst In Application.ActiveWorkbook.Worksheets
For Each pvtBL In Wrkst.PivotTables
PvtBL.RefreshTable
ActiveWorkbook.PivotTables().PivotFields("Sales").AutoSort _
xlAscending, ActiveSheet.PivotTables(). _
PivotColumnAxis.PivotLines(1)
Next pvtBL
Next Wrkst
End Sub
注意:由于未指定字段名称,因此我假设销售额作为排序字段,您可以根据需要进行更改。
希望这对你有帮助。