使用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"