Excel 透视表-VBA宏

Excel 透视表-VBA宏,excel,vba,Excel,Vba,我正在尝试使用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")

我正在尝试使用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


尝试用excel中的Record宏记录它。

您指的是索引为-1的字段。那不行。请尝试使用引号中的字段名。@Douglancy谢谢您的提示。看来你找到了症结所在。我有4个字段,它们都应该相互对齐。@Douglancy oops。我想我正在寻找方向和位置变量来实现这一点。。。我是否会使用“方向”保留所有变量:xlRowField和位置:1、2、3、4?我要试着玩弄这些“绊倒”的东西!很高兴我能帮忙。@Douglancy似乎无法使用宏格式化第2列中的所有数据。这让我快发疯了!有什么建议吗?请参阅更新的代码