Unless there is a reason for your users to see what a procedure is doing, always turn off screen updating with
Application.ScreenUpdating = False
This makes your procedures execute much more quickly. Just remember to turn screen updating back on before you display a dialog or a message box. With ScreenUpdating set to False, the screen does not repaint correctly if the user moves the box.