1

我创建了一个 pirvot 表,但列顺序不是我想要的。我想将一列移到右端。我可以在 Excel 中执行此操作,但不知道如何使用 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 回答