Sometimes when you run a macro, the screen flickers a lot due to the screen updating itself. This slows the macro done especially when the macro has a lot of work to do. You need to include the statement as shown below.
Application.ScreenUpdating = False
You need to set the screen updating back to true at the end of the macro.