Screenupdating vba msdn
It is annoying for VBA processor as it needs to fully qualify the object each time. This concept tells us to use [A1] rather than Range("A1") and Range("Stock Range")(3,4) rather than Range("Stock Range").(Isn't it annoying for us too when some work or something is told us again and again? The point here to understand is minimum qualifying of an object by VBA processor. Cells(3,4) Use vb Null String instead of ""(2 double quotes) : vb Null String is slightly faster than "", since vb Null String is not actually a string, but a constant set to 0 bytes, whereas "" is a string consuming at least 4-6 bytes for just existence.
So streamline your program logic and get the best performance of macros.
We rarely fire an event for each cell we're changing via code.
Enable Events to tell VBA processor whether to fire events or not.
If any other references point to the same object, the object will not be destroyed.
Reduce the number of Lines: Avoid multiple statements especially when they can be clubbed into one line.