生成#REF的公式!错误

时间:2018-05-24 13:56:25

标签: excel excel-vba vba

在Microsoft Excel中,我有一个生成#REF的单元格!错误(因为它指的是已删除的工作表)。我想编写将检索该单元格中的公式的VBA代码。 REF错误是否消除了原始公式,因此它永远丢失了?我知道IsError(ActiveCell.Value)会告诉我一个单元格是否有错误,我知道ActiveCell.Value会给我错误编号(#REF为2023),但这仍然没有原始公式。如果我有实际的公式,我可以更改工作表名称并将其放回麻烦的单元格中。

2 个答案:

答案 0 :(得分:2)

有#REF!错误消灭了原来的公式,所以它永远丢失了?

是的!你无法扭转它。

但是,如果您正在寻找一种简单的方法,为了保留公式,在删除它们引用的工作簿之前,您可以在每个公式前面添加'符号。因此,公式将保存为文本,您将避免#REF!:

Public Sub AllFormulasToText()

    Dim myCell As Range

    For Each myCell In ActiveSheet.UsedRange
        If myCell.HasFormula Then myCell.Value = "'" & myCell.Formula
    Next myCell

End Sub

答案 1 :(得分:0)

Check = Range("A1").Formula 'Reference to the cell your formula is in