使用VB.NET在数据透视表中过滤列标签

我有我的数据透视字段代码提交date。

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 

这是我的目标date: 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 

当我运行我的程序时,它会显示我的目标date的所有date。

在这里输入图像说明

我想每周过滤我select的目标date,它必须如下所示:

在这里输入图像说明

谢谢你的帮助!

几天后,我已经使用Range.Group方法find了答案

另一个错误是我在.xlDataField之前先编码.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