使用VBA自动在Excel 2007中的两个维度分隔数据绑定的枢轴表
题
这是一个恼人的问题。我在Excel电子表格中有一个枢轴表,它直接从SQL Server查询获取其数据。
表在垂直轴上有客户,以及水平访问的日期。两者都需要正确地排序 - 即客户在从左到右的左右排列到底部和日期。
我确保从SQL出来的数据被Excel识别为日期字段。您可以使用手动A-Z函数成功对日期进行排序。但我需要使用VBA自动进行。
我希望(againt hoppe)在SQL查询上使用两个排序参数可能会做这个技巧:
sql = "SELECT * FROM myView ORDER BY Customer, Date"
Set pt = Worksheets("MyReport").PivotTables("MyPivot")
pt.PivotCache.CommandText = sql
pt.RefreshTable
.
但它没有。
我看到比在Excel 2010之上,有一个方便的autosort函数,应该做我需要的东西。但我陷入了2007年。有没有办法在两种维度中对我的数据进行排序?
解决方案
拒绝Excel 2007中有一个AutoSort功能,但它属于Pivotfields对象,而不是枢轴表本身。
Dim pt As PivotTable
Set pt = Worksheets("myWorksheet").PivotTables("myPivotTable")
pt.PivotFields("DATE").AutoSort xlAscending, "DATE"
. 不隶属于 StackOverflow