2013-10-21 43 views
0

我创建一个pirvot表,但colunm顺序不是我想要的。我想将一列移到右端。我可以在Excel中执行此操作,但不知道如何使用VBA执行此操作。如何使用VBA将一列移动到数据透视表的最后?

在Excel中,可以这样做 - 激活要移动的列标题,单击右键,选择移动,移动“ - ”结束。

录制宏 - 当录制宏,它只是显示的确切位置,只是喜欢, ActiveSheet.PivotTables( “PivotTable16”)透视字段( “周”)PivotItems( “#VALUE!”)_ 。位置= 12 但是我想在其他文件中使用宏,也许最终位置不是12.然后宏不能被使用。

希望能在这里得到帮助。如何做到这一点,以移动colunm由VBA结束?谢谢。

回答

1

我希望我能帮到你。

您可以通过

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 
+0

它的工作原理。非常感谢。 – JennyZheng

0

只是一个随机的笔记给任何人遇到这个问题,并遇到同样的问题,我做了。如果在你的宏中隐藏字段,它会给你一个错误。在设置数据透视表时,不要将此代码用作最后一件事。使用此代码,让它移动到底部位置,然后让您的代码隐藏您的字段。如果您先隐藏字段,则会计算隐藏字段,然后尝试将其移到数据透视表之外并导致错误。

相关问题