这是我正在尝试做的简单版本。 说我知道单元格(1,1)中有错误,而且我知道它是#num!,#ref!或#value!,我希望能够将相应的错误消息存储在变量中,因此我可以将其打印到不同的工作表。 这是我尝试过的,但显然失败了。
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
答案 0 :(得分:4)
而不是.value尝试.Text。这可以存储在您的变量中。
?cells(1,2).text
#N/A
?cells(1,2).value
Error 2042
?cells(2,2).text
#REF!
?cells(2,2).value
Error 2023
答案 1 :(得分:1)
只需创建Variant类型的变量即可。然后你可以输入单元格中的任何内容,包括错误值。
稍微详细说明,您的代码可能如下所示:
Public Sub copyFromCellIfError()
Dim v
v = [q42]
If IsError(v) Then
[z99] = v
End If
End Sub
假设你想要复制实际的错误值,而不是它的字符串表示。