我有一個數據透視表,其目的是根據用戶的選擇在兩個不同聚合級別彙總我的數據。如何使用VBA控制Excel數據透視表字段列表中元素的順序?
當用戶更改某些設置,下面的代碼從字段列表中隱藏指數A:
Sheets("test").PivotTables("test").PivotFields("IndexA").Orientation = xlHidden
而且當改變相反時,下面的代碼使得IndexA再次可見:
Sheets("test").PivotTables("test").PivotFields("IndexA").Orientation = xlRowField
由此產生的fi場列表現在看起來是這樣,同場列表的元素的修改排序:
注意,在行字段列表,指數A現在是在頂部而不是底部,這破壞了一致性和我的報告的可讀性。
我的問題是..有沒有辦法通過VBA控制透視字段列表的排序?或另一種方法來達到我期待的相同結果? (打開和關閉現場列表中的某個項目並保留該訂單)
我很感謝任何人都可以提供有關此主題的幫助/建議。
https://msdn.microsoft.com/en-us/library/office/dn254297.aspx adddatafield,addfield也許?看看對象模型,看看你是否可以發現它是否可能。您可能必須刪除所有字段,然後按您希望的順序將它們添加回來,而不是重新排序它們。 –
我嘗試刪除所有字段並重新添加,但所有這些額外的操作使我的宏運行時間太長。我從Scott Holtzman實施了以下答案,並且工作正常。 –