【问题标题】:#REF! cell error after deleting pivot table#参考!删除数据透视表后的单元格错误
【发布时间】:2019-01-30 15:46:20
【问题描述】:

删除数据透视表后如何在单元格中保留公式?

我面临的场景:

我有一个工作表,其中包含从 A3 到 B13 的数据透视表。在单元格 D3 到 D13 中,单元格中有静态值。对于第 4 行到第 13 行的每一行,我会将 B 到 D 的值相加,并将结果存储在 E 列中。

例如,E4 单元格将包含公式=B4+D4。如果我要删除数据透视表,单元格 E4 中的公式将更改为 =#REF!+D4

在我运行删除数据透视表的宏后,E 列中的公式将 B 列中的值替换为 #REF!。宏就是这个。

Sub DltPivotTablesFromWS()
    Dim pt As PivotTable

    For Each pt In ActiveWorkbook.ThisWorksheet.PivotTables
        TheWS.Range(pt.TableRange2.Address).Delete Shift:=xlUp
    Next

End Sub

删除数据透视表后出现问题。我们如何避免这个问题,它改变了单元格内的公式?

【问题讨论】:

  • 使用 sumifs() 计算总和,基于用于计算 B3 和 D3 中的原始值的标准。因为你没有展示或解释那个细节......

标签: excel vba


【解决方案1】:

INDEX 可以引用在删除引用的单元格时不会更改的工作表位置。

=index(B:B, 3)+D3

如果要向下拖动该公式,请从不会被删除的单元格中获取 3

=index(B:B, row(D3))+D3

【讨论】:

  • 不错。这行得通。是否有无需更改单元格中的公式的 vba 解决方案?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 1970-01-01
  • 2016-09-25
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
相关资源
最近更新 更多