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