vbaloopsfor-loop

Continue For loop


I have the following code:

For x = LBound(arr) To UBound(arr)
  
    sname = arr(x)  
    If InStr(sname, "Configuration item") Then  
        '**(here I want to go to next x in loop and not complete the code below)**  
    End If

    '// other code to copy past and do various stuff

Next x  

I thought I could simply have the statement Then Next x, but this gives a "no for statement declared" error.

What can I put after the If InStr(sname, "Configuration item") Then to make it proceed to the next value for x?


Solution

  • You're thinking of a continue statement like Java's or Python's, but VBA has no such native statement, and you can't use VBA's Next like that.

    You could achieve something like what you're trying to do using a GoTo statement instead, but really, GoTo should be reserved for cases where the alternatives are contrived and impractical.

    In your case with a single "continue" condition, there's a really simple, clean, and readable alternative:

        If Not InStr(sname, "Configuration item") Then
            '// other code to copy paste and do various stuff
        End If