2010-06-11 8 views
0

Mon code est le suivant:conditionnelle En boucle for Escapes Sous

sub main() 

'''some more code''' 

For j = InStr(1, stext, " ") To Len(stext) 
     If IsNumeric(Mid(stext, j, 1)) Or IsAlpha(Mid(stext, j, 1)) Then 
      letter1 = Mid(stext, j, Len(stext)) 
      Exit For 
     End If 
    Next j 

'''some more code''' 

end sub 

Comme je marche dans la macro, quand il arrive à cette ligne:

If IsNumeric(Mid(stext, j, 1)) Or IsAlpha(Mid(stext, j, 1)) Then 

il échappe à l'ensemble de la sous! Qu'est-ce que je fais de mal, et comment puis-je le résoudre?

Répondre

3

Cela se produit généralement en cas d'erreur. Dans ce cas, il pourrait s'agir d'une erreur hors limites. Vous pourriez avoir un espace à la fin de stext, ce qui causerait ce problème.

+0

son échapper à la boucle du premier coup –

+1

Enfilez Error Goto 0 avant d'boucle For, et il vous montrera une erreur – volody

+1

pourrait être IsAlpha, je ne pense pas que ce soit une construction en VBA fonction. –