Activate Workbook Or Worksheet in Excel VBA

Home/Excel VBA/Activate Workbook Or Worksheet in Excel VBA

Description:

Sometimes we may want to Activate Workbook Or Worksheet using Excel VBA.You can use Activate property Activate Workbook Or Work Sheet.


For example, we may have 5 worksheet, we have to do some tasks in Sheet3. In order to perform some tasks we need to activate the worksheet then perform the tasks.

Activate Workbook Or Work Sheet – Example Cases:

Activate Workbook or Worksheet

If you know the name of the workbook You can use the following code to Activate Workbook or worksheet. For example workbook name is “Book2” which we want to activate and it contains sheet named as “Sheet1”. Using following code you can Activate Workbook Or Work Sheet.

Code:
Sub Activate_Workbook()
'Activate Workbook
Workbooks("Book2.xls").Activate   
'Activate Worksheet
Workbooks("Book2.xls").Sheets("Sheet1").Activate
End Sub
Output:

Activate Workbook Or Work Sheet

Instructions:
  1. Open an excel workbook
  2. Press Alt+F11 to open VBA Editor
  3. Insert a new module from Insert menu
  4. Copy the above code and Paste in the code window
  5. Press F5 to see the output
  6. You should see Aactivated workbook and Worksheet
  7. Save the file as macro enabled workbook
Activate Workbook or Worksheet using object

You can create object for workbook and worksheet in the following way.You can use object to activate Workbook or Worksheet.

Code:
Sub Activate_Workbook_Using_Object()
'Variable Declaration
Dim WrkBk As Workbook
Dim WrkSht As Worksheet
'Create Object for Workbook
Set WrkBk = Workbooks.Add
'Create Object for Worksheet
Set WrkSht = WrkBk.Sheets("Sheet1")
'Activate Sheet
WrkSht.Activate
End Sub
Explanation:
  1. We declared two objects for workbook and worksheet
  2. We have added a new workbook and assigned to workbook object
  3. We set the Worksheet to worksheet object
  4. We activated the worksheet by refering the worksheet object
  5. .

Instructions:
  1. Open an excel workbook
  2. Press Alt+F11 to open VBA Editor
  3. Insert a new module from Insert menu
  4. Copy the above code and Paste in the code window
  5. Press F5 to see the output
  6. You should see output as shown above
  7. Save the file as macro enabled workbook
By |January 12th, 2013|Excel VBA|3 Comments

About the Author:

Excel VBA Developer having around 8 years of experience in using Excel and VBA for automating the daily tasks, reports generation and dashboards preparation. Valli is sharing to helps us automating daily tasks.

3 Comments

  1. Jude September 15, 2014 at 11:20 PM - Reply

    Hi,
    If you worksheet has a space in its name eg: ‘Sheet 1’, how would you reference that?
    (Workbooks(“Book2.xls”).Sheets(“Sheet1”).Activate)

  2. PNRao September 25, 2014 at 8:25 PM - Reply
    'You can use in same way:
    Workbooks(“Book2.xls”).Sheets("Sheet 1").Activate
    

    Thanks-PNRao!

  3. Ryan August 16, 2016 at 7:13 AM - Reply

    Hey Valli,

    I have just got a very simple question.

    My current macro pastes into a specific file Windows(“test file.xls”).Activate with this code. I would like to use this macro on various files with different names. Therefore I want it to paste onto my active worksheet, and am unsure of what code it should be .

    Please help!

    Regards

Leave A Comment