1

pirvot テーブルを作成しましたが、列の順序が意図したものではありません。1列右端に移動したい。エクセルではできますが、VBAでのやり方がわかりません。

Excel では、この方法で実行できます。移動する列ヘッダーをアクティブにし、右ボタンをクリックして、[移動] を選択し、[移動] を選択して終了します。

マクロを記録する - マクロを記録すると、 ActiveSheet.PivotTables("PivotTable16").PivotFields("wk").PivotItems("#VALUE!") _ .Position = 12 のように、正確な位置が表示されます。他のファイルでマクロを使用するには、終了位置が 12 でない可能性があります。その場合、マクロは使用できません。

ホープはここで助けを得ることができます. VBAで列を最後に移動するにはどうすればいいですか? ありがとう。

4

2 に答える 2

2

私はあなたが正しいことを願っています。

によって終了位置を取得できます

ActiveSheet.PivotTables("PivotTable1").PivotFields("whatever").PivotItems.count

基本的に、ラベルのアイテム数を返します

編集済み

だからあなたは好きにすることができます

Dim total as Integer 

total = ActiveSheet.PivotTables("PivotTable1").PivotFields("whatever").PivotItems.count

ActiveSheet.PivotTables("PivotTable1").PivotFields("whatever").PivotItems("whatever").position = total
于 2013-10-21T03:19:11.400 に答える
0

これに遭遇し、私がしたのと同じ問題に遭遇した人へのランダムなメモ。マクロでフィールドを非表示にすると、エラーが発生します。ピボット テーブルを設定するときに、このコードを最後に使用しないでください。このコードを使用して、一番下の位置に移動させてから、フィールドを非表示にするコードを用意してください。最初にフィールドを非表示にすると、非表示のフィールドがカウントされてからピボット テーブルの外に移動しようとするため、エラーが発生します。

于 2014-10-16T14:58:11.970 に答える