存储#VALUE! #NUM! #REF! variables

所以我想要做一个简单的版本。 说我知道单元格(1,1)有一个错误,而且我知道它是#num !, #ref! 或#value !,我希望能够将相应的错误消息存储在一个variables中,所以我可以将其打印到不同的工作表中。 这是我试过的,显然失败了。

Sub FindAndPrintErrors dim Store as string If IsError(Range("A1"))) = True Then Store = Range("A1").value 'it breaks here' end if range("B1") = Store end sub 

我知道我可以做到这一点,但我想知道是否有更好的方法。

 Sub FindAndPrintErrors2 dim Store If IsError(Range("A1"))) = True Then temp = Range("A1").value 'it breaks here' if temp = "error 2029" then store = "#num!" ' and so on' end if range("B1") = Store end sub 

.value代替.Text。 这可以存储在你的variables。

 ?cells(1,2).text #N/A ?cells(1,2).value Error 2042 ?cells(2,2).text #REF! ?cells(2,2).value Error 2023 

只要让你的Varianttypes的variables。 然后你可以放入任何单元格中的东西,包括错误值。

细化一下,你的代码可能看起来像这样:

 Public Sub copyFromCellIfError() Dim v v = [q42] If IsError(v) Then [z99] = v End If End Sub 

这是假设你想复制实际的错误值,而不是它的string表示。