我在单元格中有一个IFERROR
公式(假设 A1),当出现错误时返回"。因此,当发生错误时,单元格为"空白"。当我尝试使用该单元格的值时,例如通过执行Cells(1,1)=Cells(1,1).Value+1
,我收到类型不匹配错误。如果我删除公式并将单元格留空,则不会收到该错误。有人知道为什么会这样吗?
VBA 不接受"" + 1
,因为一个是字符,一个是数字。
您可以:
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