首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用VBA设置透视表中的行

用VBA设置透视表中的行
EN

Stack Overflow用户
提问于 2022-07-14 16:39:09
回答 1查看 40关注 0票数 0

是否有优化这段代码的方法,还是必须像下面这样列出它?这将正确地将字段A&B添加到我的枢轴中,但与其重复每个字段,不如将所有字段嵌套在一起,这样可以使添加更多字段更容易/更易读。

代码语言:javascript
运行
复制
With ActiveSheet.PivotTables("PivotTable1").CubeFields("[Field A]")
.Orientation = xlRowField
.Position = 1
.LayoutForm = xlTabular
End With
With ActiveSheet.PivotTables("PivotTable1").CubeFields("[Field B]")
.Orientation = xlRowField
.Position = 2
.LayoutForm = xlTabular
End With
EN

回答 1

Stack Overflow用户

发布于 2022-07-14 22:51:40

用适当的参数将重复的部分分解成单独的方法。

如下所示:

代码语言:javascript
运行
复制
Sub Tester()

    Dim pt As PivotTable
    Set pt = ActiveSheet.PivotTables("PivotTable1")
    
    AddPivotField pt, "[FieldA]", xlRowField, 1
    AddPivotField pt, "[FieldB]", xlRowField, 2

End Sub


Sub AddPivotField(pt As PivotTable, cubeField As String, _
            orient As XlPivotFieldOrientation, pos As Long)
    With pt.CubeFields(cubeField)
        .Orientation = orient
        .Position = pos
        .LayoutForm = xlTabular
    End With
End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72983929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档