使用VBA在Excel 2007中自动对数据绑定数据透视表进行二维sorting
这是一个令人讨厌的问题。 我在Excel电子表格中有一个数据透视表,它从SQL服务器查询中获取数据。
该表在纵轴上具有客户,并且在水平访问上有date。 两者都需要正确sorting – 即客户按字母顺序从上到下按照date顺序从左到右排列。
我已经确保来自SQL的数据被EXcel识别为date字段。 您可以使用手动AZfunction成功sortingdate。 但我需要使用VBA自动执行。
我希望(也希望)在SQL查询上使用两个sorting参数可能会有诀窍:
sql = "SELECT * FROM myView ORDER BY Customer, Date" Set pt = Worksheets("MyReport").PivotTables("MyPivot") pt.PivotCache.CommandText = sql pt.RefreshTable
但事实并非如此。
我发现在Excel 2010中,有一个方便的自动sortingfunction,可以根据需要进行操作。 但我坚持2007年。有没有办法在两个维度中sorting我的数据?
原来在Excel 2007中有一个AutoSortfunction,但它属于数据透视表字段对象,而不是数据透视表本身。
Dim pt As PivotTable Set pt = Worksheets("myWorksheet").PivotTables("myPivotTable") pt.PivotFields("DATE").AutoSort xlAscending, "DATE"