Excel VBA:在数据透视表中分组几个月没有出错?

我正在尝试编写从单独的工作表创build两个数据透视表的macros,并将它们按月分组,但是每次尝试运行我的代码时都会收到错误消息。 这是我的代码:

Sub PivotTable() ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Sheets("Information").UsedRange).CreatePivotTable TableDestination:="Pivot!R1C4", TableName:="PivotTable", DefaultVersion:=xlPivotTableVersion10 With Sheets("Pivot").PivotTables("PivotTable").PivotFields("PN") .Orientation = xlRowField .Position = 1 End With With Sheets("Pivot").PivotTables("PivotTable").PivotFields("Commit") .Orientation = xlColumnField .Position = 1 End With Sheets("Pivot").PivotTables("PivotTable").AddDataField Sheets("Pivot").PivotTables("PivotTable").PivotFields("Qty"), "Sum", xlSum End Sub Sub GroupPivot() Dim therange As Range Dim PT As PivotTable Set PT = Sheets("Pivot").PivotTables("PivotTable") Set therange = PT.PivotFields("Commit").DataRange.Cells(1) therange.Select Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _ False, True, False, False) End Sub Sub PivotTableNY() ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=Sheets("InformationNextYear").UsedRange).CreatePivotTable TableDestination:="PivotNextYear!R1C4", TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 With Sheets("PivotNextYear").PivotTables("PivotTable1").PivotFields("Material") .Orientation = xlRowField .Position = 1 End With With Sheets("PivotNextYear").PivotTables("PivotTable1").PivotFields("Deliv. Date") .Orientation = xlColumnField .Position = 1 End With Sheets("PivotNextYear").PivotTables("PivotTable1").AddDataField Sheets("PivotNextYear").PivotTables("PivotTable1").PivotFields("Open Quantity"), "Sum", xlSum End Sub Sub GroupPivotNY() Dim myrange As Range Dim PT As PivotTable Set PT = Sheets("PivotNextYear").PivotTables("PivotTable1") Set myrange = PT.PivotFields("Material").DataRange.Cells(1) myrange.Select Selection.Group Start:=True, End:=True, Periods:=Array(False, False, False, _ False, True, False, False) End Sub 

我不断收到此错误消息:

“朗姆酒时间错误'1004':select范围类失败的方法”。

该错误出现在行:therange.Select下Sub GroupPivot。

有人可以帮我解决这个错误吗?

尝试添加:

 Worksheets("Pivot").Activate 

之前

 therange.Select