将单元格的值与公式一起使用将返回类型不匹配



我在单元格中有一个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
    

最新更新