#REF!删除数据透视表后出现单元格错误

时间:2019-01-30 05:03:33

标签: excel vba

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

我面临的情况:

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

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

enter image description here

运行宏以删除数据透视表后,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

enter image description here

删除数据透视表后,会出现问题。我们如何避免此问题更改单元格内部的公式?

1 个答案:

答案 0 :(得分:1)

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

=index(B:B, 3)+D3

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

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