在Microsoft Excel中,我有一个生成#REF的单元格!错误(因为它引用了已删除的工作表)。我想编写VBA代码,该代码将检索该单元格中的公式。 REF错误是否清除了原始公式,从而使它永远丢失了?我知道IsError(ActiveCell.Value)会告诉我单元格是否有错误,并且我知道ActiveCell.Value将给我错误号(#REF为2023),但是仍然没有原始公式。如果我有实际的公式,则可以更改工作表名称,然后将其放回麻烦的单元格中。
Check = Range("A1").Formula 'Reference to the cell your formula is in
具有#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