我在单元格中有一个IFERROR
公式(假设是A1),当出现错误时会返回“”。因此,当发生错误时,单元格为“空白”。当我尝试使用该单元格的值时,例如通过执行Cells(1,1)=Cells(1,1).Value+1
,我得到一个Type Missmatch错误。如果我删除公式并将单元格留空,那么我不会收到该错误。有人知道为什么会这样吗?
答案 0 :(得分:1)
"" + 1
不被VBA接受,因为一个是一个字符,一个是数字。
你可以:
IFERROR
返回0而不是""避免类型不匹配使用if
语句检查"":
If Cells(1,1) = "" Then
Cells(1,1) = 1
Elseif IsNumeric(Cells(1,1)) Then
Cells(1,1) = Cells(1,1).Value + 1
End If
转换""到0:
Cells(1,1) = Val(Cells(1,1).Value) + 1