Sortie étrange en fonction simple – Excel VBA

J'ai une fonction simple dans 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 

Comme vous le voyez, les valeurs de i sont censées être de 7 ou 8 ou 9 ou 10 . Mais, lorsque je teste la fonction dans la feuille de calcul Excel, je trouve ubi()=11 .

Alors, Quelle pourrait être la source d'erreur dans mon code?

Supprimez l' ubi = i de l'extérieur de la boucle For...Next Le code continue alors que cela est vrai: For i = 7 To 10 Chaque fois que vous appuyez sur Next il est incrémental. Lorsque je passe à 11, la boucle sort, mais je suis déjà configuré à 11.