如果结果不是数字,则跳过 – 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 

但它仍然给我“types不匹配”错误…我怎样才能执行代码

 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 

初始build议:声明所有variablestypes。 您可以通过在模块顶部添加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