【问题标题】:How to move one column to the end in Pivot table with VBA?如何使用 VBA 将数据透视表中的一列移到末尾?
【发布时间】:2013-10-29 10:06:32
【问题描述】:

我创建了一个 pirvot 表,但列顺序不是我想要的。我想将一列移到右端。我可以在 Excel 中完成,但不知道如何使用 VBA。

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

录制宏--录制宏时,只显示准确的位置,就像, ActiveSheet.PivotTables("PivotTable16").PivotFields("wk").PivotItems("#VALUE!") _ .位置 = 12 但是我想在其他文件中使用宏,可能结束位置不是12。那么宏就不能使用了。

希望能在这里得到帮助。如何通过 VBA 将列移动到结尾?谢谢。

【问题讨论】:

    标签: 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
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-20
        • 2019-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多