如果结果不是数字则跳过 - Excel VBA

Skip if Result is Not a Numeric - Excel VBA

最热烈的问候, 目前我有代码:

result = Range("E" & n) - Range("D" & n)

会有一行文本给出的结果不是数字,我尝试添加这些代码:

result = Range("E" & n) - Range("D" & n)
Lvalue = IsNumeric(result)
If Lvalue = False then
    n = n + 1
else
    'other code here
End If

但它仍然给我 "Type Mismatch" 错误...我该如何执行代码

n = n + 1

当结果不是数字时?任何努力表示赞赏!谢谢!

如果您减去两个非数字的数字,您可能会得到错误。

因此,请尝试找出单元格是否为数字并执行您的操作。

If IsNumeric(Range("E" & n)) = True And IsNumeric(Range("D" & n)) = True Then
    result = Range("E" & n) - Range("D" & n)
    n = n + 1
Else
    'other code here
End If

初步建议:声明所有变量类型。您可以通过在模块顶部添加 Option Explicit 来强制执行此操作。

Option Explicit

Dim result As Variant
Dim n As Long

n = 1 ' Or whatever value you need to start at

result = Range("E" & n) - Range("D" & n)
If IsNumeric(result) then
    n = n + 1
else
    'other code here
End If