首页 > 解决方案 > VBAProject:运行时错误'13':类型不匹配

问题描述

我有一个以前可以工作的宏,然后我决定检查一个值的范围,如果找到该值,请将其替换为 0。现在它不起作用,我不断收到运行时错误 13 类型不匹配无论我尝试什么,都在那条线上。这是破坏我现有代码的代码:

Dim cell As Range
For Each cell In Range("A1:GG1000")
   If cell.Value = "#N/A" Then
      cell.Value = 0
   End If
Next cell

我也尝试使用 if cell.value = 2 来查看它是否是字符串/数字的单元格类型问题,在相同的 if 行中仍然存在相同的错误。

有任何想法吗?

标签: excelvba

解决方案


你可能想做这样的事情

If TypeName(cell.Value) = "Error" Then
    If cell.Value = CVErr(xlErrNA) Then
        'If cell.Value = "#N/A" Then
        cell.Value = 0
    End If
End If

检查单元格是否包含错误的另一种方法是

If IsError(cell.Value) Then
    If cell.Value = CVErr(xlErrNA) Then
        'If cell.Value = "#N/A" Then
        cell.Value = 0
    End If
End If

因此,首先检查单元格是否包含错误,然后检查特定错误


推荐阅读