yes...
because doevents() does hold your script until the form is closed.
instead of using that, you could use either doevents(1) (not sure that's the correct number anymore) or add timer code.