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

时间:2017-08-09 06:17:01

标签: excel vba excel-vba skip

最温暖的问候, 目前我有代码:

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

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

n = n + 1

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

2 个答案:

答案 0 :(得分:0)

如果你减去两个不是数字的数字,你可能会得到错误。

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

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

答案 1 :(得分:0)

初步建议:声明所有变量类型。您可以通过在模块顶部添加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