er, that's what I wrote...
If you step through this, you will notice that the Change event fires a second time and all the code is executed again.
You cannot prevent the event from firing again, but can keep the code from executing again using the mentioned flag:
Private Sub Text1_Change()
Static bGetOut As Boolean
If bGetOut Then Exit Sub
bGetOut = True
.
.
.
.
bGetOut = False
End Sub