Excel VBA:在数据透视表中分组月份而不会出错?

时间:2017-08-03 15:24:05

标签: excel vba excel-vba

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

    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':选择范围类方法失败。"

错误显示在Sub GroupPivot下的行therange.Select

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

1 个答案:

答案 0 :(得分:1)

尝试添加:

Worksheets("Pivot").Activate

therange.Select