By the way, I'm using 3 level nested loop to emulate the actions.
DO A = System Condition
If this many errors so far, then Exit Run
Do Until (B) = This test iteration continues until all off the specified data sheet is done (or exited)
Do Until (C) = Run this data sheet until x case is complete and I just need to go to the next line.
Select Case <action>
Case <action value>
During this case a condition may occur so I want to go to the test iteration (Loop B) or datasheet row (Loop C) without executing things outside the End Select.
And depending on the case, I probably want to go run my rule checks.
After those rule checks, all will either continue as normal, or require me to exit the datasheet and go back to the test iteration.
In other words, I'm trying to set my "Do Until" variable dependent on the loop level I want to return to.
i.e. next iteration (Loop B) or next row (Loop C)
goToLoopB - initialized as 0. Changed to 1 when needed
LoopC - initalized as 1. (This can be an Exit Do, I know., but I end up with so many Exit Dos, that maintainability by the next author will be insanity.)