使用带有公式的单元格值返回Type Missmatch

时间:2016-02-26 18:36:27

标签: excel vba excel-vba

我在单元格中有一个IFERROR公式(假设是A1),当出现错误时会返回“”。因此,当发生错误时,单元格为“空白”。当我尝试使用该单元格的值时,例如通过执行Cells(1,1)=Cells(1,1).Value+1,我得到一个Type Missmatch错误。如果我删除公式并将单元格留空,那么我不会收到该错误。有人知道为什么会这样吗?

1 个答案:

答案 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