VBAを使用してExcel 2007の2次元でデータバウンドピボットテーブルを自動的に並べ替える

StackOverflow https://stackoverflow.com//questions/23058352

  •  26-12-2019
  •  | 
  •  

質問

これが迷惑な問題です。私は、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"
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top