我在Excel VBA中有这个简单的功能。
Public Function ubi() As Integer
Dim i As Integer
For i = 7 To 10
If IsNumeric(Cells(35, i).Value) Then
ubi = i
End If
Next
ubi = i
End Function
如您所见,i
的值应为7
或8
或9
或10
。但是,当我在Excel工作表中测试该函数时,我找到了ubi()=11
。
那么,我的代码中可能出现错误的原因是什么?
答案 0 :(得分:5)
从ubi = i
循环外移除For...Next
这是真的:For i = 7 To 10
每当你点击Next
时它都是增量的。当我增加到11时,循环退出 - 但我已经设置为11。