Table of Contents

Workbook and Worksheet Object

Learn more about the Workbook and Worksheet object in Excel VBA.

Object Hierarchy

In Excel VBA an object can contain another object and that object can contain another object etc. In other words Excel VBA programming involves working with an object hierarchy. This probably sounds quite confusing but we will make it clear.

The mother of all objects is Excel itself. We call it the Application object. The application object contains other objects. For example the Workbook object (Excel file). This can be any workbook you have created. The Workbook object contains other objects such as the Worksheet object. The Worksheet object contains other objects such as the Range object.

The Create a Macro chapter illustrates how to run code by clicking on a command button. We used the following code line:

Range(“A1”).Value = “Hello”

but what we really meant was:

Application.Workbooks(“create-a-macro”).Worksheets(1).Range(“A1”).Value = “Hello”

Note: the objects are connected with a dot. Fortunately we do not have to add a code line this way. That is because we placed our command button in create-a-macro.xlsm on the first worksheet. Be aware that if you want to change things on different worksheets you have to include the Worksheet object. Read on.

Collections

You may have noticed that Workbooks and Worksheets are both plural. That is because they are collections. The Workbooks collection contains all the Workbook objects that are currently open. The Worksheets collection contains all the Worksheet objects in a workbook.

Worksheet Names

You can refer to a member of the collection for example a single Worksheet object in three ways.

1. Using the worksheet name.

Worksheets(“Sales”).Range(“A1”).Value = “Hello”

2. Using the index number (1 is the first worksheet starting from the left).

Worksheets(1).Range(“A1”).Value = “Hello”

3. Using the CodeName.

Sheet1.Range(“A1”).Value = “Hello”

To see the CodeName of a worksheet open the Visual Basic Editor. In the Project Explorer the first name is the CodeName. The second name is the worksheet name (Sales).

CodeName

Note: the CodeName remains the same if you change the worksheet name or the order of your worksheets so this is the safest way to reference a worksheet. Click View Properties Window to change the CodeName of a worksheet. There is one disadvantage you cannot use the CodeName if you reference a worksheet in a different workbook.

Properties and Methods

Now let’s take a look at some properties and methods of the Workbooks and Worksheets collection. Properties are something which an collection has (they describe the collection) while methods do something (they perform an action with an collection).

Place a command button on your worksheet and add the code lines:

1. The Add method of the Workbooks collection creates a new workbook.

Workbooks.Add

Note: the Add method of the Worksheets collection creates a new worksheet.

2. The Count property of the Worksheets collection counts the number of worksheets in a workbook.

MsgBox Worksheets.Count

Result when you click the command button on the sheet:

Count Property in Excel VBA

Note: the Count property of the Workbooks collection counts the number of active workbooks.

Leave A Comment

Excel meets AI – Boost your productivity like never before!

At Formulas HQ, we’ve harnessed the brilliance of AI to turbocharge your Spreadsheet mastery. Say goodbye to the days of grappling with complex formulas, VBA code, and scripts. We’re here to make your work smarter, not harder.

Related Articles

The Latest on Formulas HQ Blog