inside a loop is fine. Putting it anywhere in the loop is generally fine. Typically, it's done at the end of the loop. What I wouldn't recommend is having the DoEvents execute EVERY iteration of the loop. I'd add a counter, and then check it's value and execute the DoEvents, maybe once every 10 or so loops...

-tg