如何使用VBA在Excel中的错误单元格中获取基础值

我有这个问题纯粹由VBA解决,不允许手动干预。

在excel中,如果input一个以负号开始的非数字string,例如“-SomeData”,则单元格将显示为“#NAME?”。 但是,如果select此单元格,则在公式栏中将显示“= -SomeData”。

现在我需要提取“-SomeData”并将其粘贴到另一张纸上。 我尝试.value,但它返回错误和.text,但它返回“#NAME?”。

我浏览了MSDN上Range对象的整个列表,但没有find可行的解决scheme。

有没有办法纯粹由VBA做到这一点? 询问是因为macros的用户拒绝为错误单元格进行手动格式化。

提前致谢。

假设错误值在活动单元格中,请执行以下操作:

Worksheets(1).Range("A1") = "'" & Activecell.Formula