VBAを使用してExcel 2007の2次元でデータバウンドピボットテーブルを自動的に並べ替える
質問
これが迷惑な問題です。私は、SQL Serverクエリから直接データを取得するExcelスプレッドシートにピボットテーブルを持っています。
表には縦軸に顧客があり、水平方向のアクセス時の日付。どちらも正しくソートされる必要があります。
SQLから出てくるデータが日付フィールドとしてExcelによって認識されることを確認しました。手動A-Z機能を使用して日付を正常に並べ替えることができます。しかし、私はVBAを自動的に使用する必要があります。
私はSQLクエリで2つのソートパラメータを使用することを望んでいた(Againt Hope)トリックを実行するかもしれません:
sql = "SELECT * FROM myView ORDER BY Customer, Date"
Set pt = Worksheets("MyReport").PivotTables("MyPivot")
pt.PivotCache.CommandText = sql
pt.RefreshTable
.
しかしそれはそうではありません。
私はExcel 2010以降よりも見ています私が必要とすることをするべきです。便利なオートソート機能があります。しかし、私は2007年に立ち往生しています。両方の寸法でデータを並べ替える方法はありますか?
解決
Excel 2007にオートソート機能がありますが、ピボットテーブル自体ではなくPivotFieldsオブジェクトに属します。
Dim pt As PivotTable
Set pt = Worksheets("myWorksheet").PivotTables("myPivotTable")
pt.PivotFields("DATE").AutoSort xlAscending, "DATE"
. 所属していません StackOverflow