Don't Do the Two-Step

Don't do something in two steps if there is a method that can do it in one step. For instance, the following example shows two methods you can use to copy a range from one worksheet to another. Method 1 takes almost 10 times as long to execute as Method 2 because of an unnecessary additional step.

Method 1

Worksheets(1).UsedRange.Copy
Worksheets(2).Paste

Method 2

Worksheets(1).UsedRange.Copy _
    destination:=Worksheets(2).Range("a1")

Method 2 uses an optional argument of the Copy method to improve performance. Many VBA methods have optional arguments that can significantly improve the performance of code that uses them. Make a habit of highlighting various methods used in your code and pressing the F1 key to access context-sensitive help. If you find an optional argument, take note, as many high-performance optimizations are found in these options. These additional arguments are rarely used by the macro recorder, so you need to seek them out.