Essential concepts to remember
In this section, I note some additional concepts that are essential for would-be VBA gurus.
- Objects have unique properties and methods.
Each object has its own set of properties and methods. Some objects, however, share
some properties (for example,Name) and some methods (such as Delete).
- You can manipulate objects without selecting them.
This might be contrary to how you normally think about manipulating objects in Excel.
The fact is that it’s usually more efficient to perform actions on objects without selecting
them first. When you record a macro, Excel generally selects the object first. This is
not necessary and may actually make your macro run more slowly.
- It’s important that you understand the concept of collections.
Most of the time, you refer to an object indirectly by referring to the collection that it’s
in. For example, to access aWorkbook object named Myfile, reference the
Workbookscollection as follows:Workbooks(“Myfile.xlsx”)
This reference returns an object, which is the workbook with which you are concerned.
- Properties can return a reference to another object.
For example, in the following statement, theFont property returns a Font object contained
in aRange object. Bold is a property of the Font object, not the Range object.
Range(“A1”).Font.Bold = True
- There can be many different ways to refer to the same object.
Assume that you have a workbook named
Sales, and it’s the only workbook open.
Then assume that this workbook has one worksheet, namedSummary. You can refer to
the sheet in any of the following ways:
The method that you use is usually determined by how much you know about the workspace.
For example, if more than one workbook is open, the second and third methods
are not reliable. If you want to work with the active sheet (whatever it may be), any of
the last three methods would work. To be absolutely sure that you’re referring to a specificsheet on a specific workbook, the first method is your best choice.