幻灯片透视字段保留在数据透视表中,但不在数据中

我有这个代码:

Sub RvsP() Dim objTable As PivotTable, objField As PivotField Range("A1").Select Set objTable = Sheet2.PivotTableWizard Set objField = objTable.PivotFields("Real Resolution Provided to Client") objField.Orientation = xlRowField Set objField = objTable.PivotFields("Priority") objField.Orientation = xlColumnField Set objField = objTable.PivotFields("Priority") objField.Orientation = xlDataField Dim pf As PivotField Set pf = ActiveSheet.PivotTables(1).PivotFields("Real Resolution Provided to Client") pf.DataRange.Cells(1).Group Start:=True, End:=True, Periods:=Array(False, False, _ False, False, True, False, False) End Sub 

枢轴运行顺利。

但问题是,当我打开一个新的工作簿,即使它没有工作表中的数据,当我运行这个macros时,生成的最后一个数据仍然存在。

我怎样才能完全清除他们使用VBA代码?

  Set objTable = Sheet2.PivotTableWizard 

你已经提到了Sheet2。 所以它正在从sheet2中取值。 检查工作表2中的数据

将其更改为

 Set objTable = Sheet3.PivotTableWizard 

请检查项目窗口

您需要将“缺less项目限制”设置为“无”(也可以手动完成“数据透视表”的属性):

  objTable.PivotCache.MissingItemsLimit = xlmissingItemNone objTable.PivotCache.Refresh 

对不起,法语截图,我不能在该计算机上切换语言,但这里是手动选项是:

  1. 点击数据透视表
  2. 转到“选项”窗格,我个人使用function区(位于左侧)
  3. select数据选项卡
  4. Number of items to retain ...设置为None
  5. 这应该是全部

在这里输入图像说明

所以testing一下:

 Sub RvsP() Dim objTable As PivotTable, objField As PivotField Range("A1").Select Set objTable = Sheet2.PivotTableWizard objTable.PivotCache.MissingItemsLimit = xlmissingItemNone objTable.PivotCache.Refresh Set objField = objTable.PivotFields("Real Resolution Provided to Client") objField.Orientation = xlRowField Set objField = objTable.PivotFields("Priority") objField.Orientation = xlColumnField objField.Orientation = xlDataField Set objField = ActiveSheet.PivotTables(1).PivotFields("Real Resolution Provided to Client") objField.DataRange.Cells(1).Group _ Start:=True, _ End:=True, _ Periods:=Array(False, False, False, False, True, False, False) End Sub