生成#REF的Excel公式!错误

问题描述 投票:1回答:2

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

excel vba
2个回答
1
投票
Check = Range("A1").Formula 'Reference to the cell your formula is in

3
投票

具有#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
© www.soinside.com 2019 - 2024. All rights reserved.