奇怪的输出在简单的function – Excel的VBA

我在Excel VBA中有这个简单的function。

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的价值应该是78910 。 但是,当我在Excel工作表中testing函数时,我发现ubi()=11

那么,什么可能是我的代码中的错误的来源?

For...Next循环的外部移除ubi = i代码继续执行,而这是真的: For i = 7 To 10每当你点击Next它是增量的。 当我增加到11,循环退出 – 但我已经设置为11。