我创建了一个pirvot表,但是colunm顺序不是我想要的。我想将一列移到右端。我可以在Excel中完成,但不知道如何使用VBA。
在Excel中,可以这样做 - 激活要移动的列标题,单击右键,选择“移动”,“移动” - “结束”。
录制宏 - 录制宏时,它只显示确切的位置,就像, ActiveSheet.PivotTables(“PivotTable16”)。PivotFields(“wk”)。PivotItems(“#VALUE!”)_ .Position = 12 但我想在其他文件中使用宏,也许最终位置不是12.然后宏不能使用。
希望能在这里获得帮助。如何通过VBA将colunm移动到最后?感谢。答案 0 :(得分: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
答案 1 :(得分:0)
随便给任何遇到此问题的人留言并遇到我所做的同样问题。如果在你的宏中你隐藏了字段,它会给你一个错误。在设置数据透视表时,不要将此代码用作最后一项操作。使用此代码,让它移动到底部位置,然后让您的代码隐藏您的字段。如果您先隐藏字段,它会计算隐藏字段,然后尝试将其移动到数据透视表之外并导致错误。