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
当结果不是数字时?任何努力都表示赞赏!谢谢!
答案 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