我有提交日期的透视字段代码。
ptField2 = ptTable2.PivotFields("Submitted Date")
With ptField2
.Orientation = Excel.XlPivotFieldOrientation.xlColumnField
.Name = "Submitted Date"
.Caption = dtIntFrom.Value.ToString("MM-dd-yyyy")
.ClearAllFilters()
.PivotFilters.Add(Type:=Excel.XlPivotFilterType.xlCaptionEquals, DataField:="Submitted Date", Value1:=date_stamp)
End With
这是我的目标日期: 2016年3月15日 - 3月31日
date_stamp = Format(dtIntFrom.Value(), "m/d/yyyy") '3/15/2016
date_stamp2 = Format(dtIntTo.Value(), "m/d/yyyy") '3/31/2016
当我运行程序时,它会显示目标日期的所有日期。
我希望每周过滤我选择的目标日期,它必须如下所示:
感谢您的帮助!
答案 0 :(得分:1)
几天后,我已经使用Range.Group Method
找到了答案另一个错误是我在.xlColumnField
之前首先编码.xlDataField
。它应该是最后的。
以下示例:
ptField2 = ptTable2.PivotFields("Total Pages")
With ptField2
.Orientation = Excel.XlPivotFieldOrientation.xlDataField
.Function = Excel.XlConsolidationFunction.xlSum
.Name = "Pages"
.NumberFormat = "#,##0"
End With
ptField2 = ptTable2.PivotFields("Group")
With ptField2
.Orientation = Excel.XlPivotFieldOrientation.xlRowField
.Name = "Group"
End With
ptField2 = ptTable2.PivotFields("Submitted Date")
With ptField2
.Orientation = Excel.XlPivotFieldOrientation.xlColumnField
.Name = "Submitted Date"
.DataRange.Cells(1).Group(True, True, 7, New Boolean() {False, False, False, True, False, False, False})
End With