Is there a way to delay the next instance of a loop until a certain criteria is met? Or is there an if then statement that when the condition is met, the next instance of the loop begins? I have a loop that wants to start before the functions called by on.time are finished, and I want the loop to delay itself until those processes finish.

I hope this makes sense.

Yes there is but it really depends upon your code and controls and right off, no it does not make sense without knowing what exactly is going on. However, with that said, if you are using a timer you could do something like this...

Private Sub Timer1_Timer()
Timer1.Enabled = False
'your code goes here
Timer1.Enabled = True
End Sub

Good Luck