almagg - you have around 5 more messages which are copies of this.
It is pretty easy to do when the board is slow.
Would you please delete them.
----------------------------------------------------------------------
DoEvents stops the macro running, allows Windows to process any outstanding events, and then continues the macro.
An example of this is when using Sendkeys to send keyboard commands - let's say to manipulate menus in an application outside Excel. The problem is that Windows is politely waiting for the macro to end. Also the code runs so fast that it does not allow time for things to happen on screen before it processes its next command.
In this case, apart from adding "Wait" statements to actually stop the macro running for a second or so, we have to put a DoEvents line to make sure that the "keyboard entries" are processed.
Another use of DoEvents might be when downloading data from a server, or printing. There do not seem to be any firm rules here - sometimes it is needed, sometimes not. As you have seen, it does not hurt to put it in just in case.