例如:
Dim name As String: name = "NaN"
' Doesn't generate an error:
If IsNumeric(name) Then
Dim iv As Integer: iv = CInt(name)
If iv > 0 Then
' Do something
End If
End If
' Does generate error 13 on 'CInt(name)': Types don't match
If IsNumeric(name) And CInt(name) > 0 Then
' Do something
End If
为什么第二个条件CInt(name) > 0
甚至用单个if语句进行评估?或者这正是VBA的作用?我习惯于编写没有这种行为的C#代码。
答案 0 :(得分:2)
或者这正是VBA的作用?
是。
请改用:
If IsNumeric(name) Then
If CInt(name) > 0 Then
' Do something
End If
End If
或由amdixon链接的post中的任何其他方法。