【问题标题】:Pivot Table - VBA macro数据透视表 - VBA 宏
【发布时间】:2016-04-04 22:06:28
【问题描述】:

我正在尝试使用 vba 宏创建数据透视表。我可以创建初始数据透视表(图 1),但是当我尝试修改排列(图 2)时出现错误。

啊哈!明白了!

.Orientation = xlRowField

这是关键,使用 1-n 表示事件数。

'Setting Fields
With pt
With .PivotFields("ID")
.Orientation = xlRowField
.Position = 1
End With

'set column field
With .PivotFields("WorkTime")
.Orientation = xlRowField
.Function = xlSum
.Position = 2
End With

'set column field
With .PivotFields("OvertimePeriod")
.Orientation = xlRowField
.Function = xlSum
.Position = 3
End With

With .PivotFields("Sick leave")
.Orientation = xlRowField
.Function = xlSum
.Position = 4
End With

With .PivotFields("Vacation")
.Orientation = xlRowField
.Function = xlSum
.Position = 5
End With

如图 2 所示,它们并非都排成一列!

任何建议将不胜感激。在此先感谢您。

J

【问题讨论】:

  • 您指的是索引为 -1 的字段。那是行不通的。尝试使用带引号的字段名称。
  • @DougGlancy 谢谢你的提示。看起来你偶然发现了症结所在。我有 4 个字段,它们都应该相互对齐。
  • @DougGlancy 哎呀。我想我正在寻找方向和位置变量来实现这一点......我会使用“方向”保留所有变量:xlRowField 和位置:1、2、3、4?我会试着玩弄这些
  • “绊倒了?”几乎不!很高兴我能帮上忙。
  • @DougGlancy 似乎无法使用宏在第 2 列中全部格式化此数据。这让我精神崩溃!有什么建议么?查看更新的代码

标签: excel vba


【解决方案1】:

尝试在 Excel 中使用录制宏进行录制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-09
    • 2012-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多