在pivot vba中按年份分组

时间:2018-06-18 14:11:41

标签: vba excel-vba excel

我正在尝试在vba中创建一个数据透视表,其中的字段按月/年分组日期; Date字段成功运行,但是当我添加代码按月/年分组时,它会给我一个“对象必需的错误”。我该怎么解决这个问题?

With ActiveSheet.PivotTables("APivotTable").PivotFields("Date")
.Orientation = xlColumnField
'Error is here
.LabelRange.Group Start:=True, End:=True, _
Periods:=Array(False, False, False, False, True, False, True)
.Position = 1
End With

2 个答案:

答案 0 :(得分:0)

End with行后尝试此操作。

'Change Range("A5") as per your requirement
Range("A5").Group Start:=True, End:=True, Periods:=Array(False, False, False, _
    False, True, False, True)

答案 1 :(得分:0)

我自己遇到了这个问题,正在寻找解决方案。尽管Maddy的答案是正确的,但我真的不喜欢使用硬编码范围而不是OP的使用名称的方法。

OP的方法几乎是正确的。一些额外的侦查使我意识到问题是必须在要分组的字段的 data 上使用Group方法,而OP在 label <上使用该方法< / em>。

解决方案非常简单。只需将按一个单元格分组的范围移动-使用Cells从标签移动到数据即可:

.LabelRange.Cells(2,1).Group Start:=True, End:=True, _
Periods:=Array(False, False, False, False, True, False, True)