Can I edit a macro in a hidden workbook?

The tutorial shows how to create and use the Personal.xlsb file to make Excel macro available in all workbooks.

Normally, when you write a macro in Excel, it can only be accessed from that specific workbook. But what if you want to use it in other files too? Recreating the same macro for each and every workbook does not sound like a good idea. Instead, store your popular VBA codes in the Personal Macro Workbook. This will make the macros accessible every time you open Excel, in any workbook!

What is Excel Personal Macro Workbook?

Personal Macro Workbook is a special file named Personal.xlsb in Excel 2007 – 2019 or Personal.xls in earlier versions. Any macros stored in this file are available to you whenever you start Excel. A great thing about the personal workbook is that it's hidden by default, so you won't ever notice it opening in the backend. No actions on your side are required. Microsoft Excel just knows the location where this file lives in your system and looks for it automatically on every launch.

Aside from macros, the Personal Macro Workbook can store your custom functions (user-defined functions) written in VBA.

A fly in the ointment is that the Excel Personal Macro Workbook does not exist by default. To create it, you will need to record at least one macro. Once the Personal.xlsb file is created, you can add any other macros to it by using the VB Editor.

Where is Personal Macro Workbook?

The Personal.xlsb file is stored in the XLSTART folder in the following locations.

On Windows 10, Windows 7, and Windows Vista:

C:\Users\User Name\AppData\Roaming\Microsoft\Excel\XLSTART

On Windows XP:

C:\Documents and Settings\User Name\Application Data\Microsoft\Excel\XLSTART\

Please note that the AppData folder is hidden by default. So, to get to the XLSTART folder in Windows Explorer, check the Hidden items box on the View tab.

Can I edit a macro in a hidden workbook?

Note. If the XLSTART folder does not exist on your computer, that means your personal macro workbook is not created yet. Please follow the below steps to make one.

How to create Personal Macro Workbook in Excel

To make your personal macro workbook, you need to record any macro, which is done via the Developer tab. So, before we get started, please make sure the Developer tab is activated in your Excel.

To create the Excel Personal Macro Workbook, carry out these steps:

  1. In any workbook, go to the Developer tab > Code group, and click Record Macro.
    Can I edit a macro in a hidden workbook?
  2. The Record Macro dialog box will show up. In the Store Macro in drop-down list, select Personal Macro Workbook and click OK. Optionally, you can change the default name such as Macro1 to a more meaningful one.
    Can I edit a macro in a hidden workbook?
  3. If you want to record a specific macro, perform the desired actions. If your goal is just to create a personal workbook, continue with the next step.
  4. On the Developer tab or the Status bar, click Stop Recording.
    Can I edit a macro in a hidden workbook?
  5. Save and close all open workbooks. Doing this display a message prompting you to save the changes you've made to the Personal Macro Workbook, and you click Save:
    Can I edit a macro in a hidden workbook?

    This message will appear every time you create a new macro or update an existing macro in your personal workbook.

Done! The Personal.xlsb file is created and will be automatically opened in the background every time you start Excel.

Now that you have a personal macro workbook, how do you place macros into it? There are four different ways to do this:

  • Record a macro and save it to Personal Macro Workbook as shown above.
  • Write a macro in the VB Editor.
  • Copy VBA code from another workbook.
  • Import macros from a .bas file.

How to view, create, copy and edit macros in Personal Macro Workbook

Once the Personal.xlsb file is saved on your computer, you can view, create and edit the macros the Visual Basic Editor. Also, you can copy the code you wish to reuse from another workbook.

To create or edit a macro in your personal workbook, this is what you need to do:

  1. Open the VB Editor. For this, press ALT + F11 or click the Visual Basic button on the Developer tab, in the Code group.
  2. In the Project Explorer window, find the PERSONAL.XLSB object, expand it, and double-click on Module1 to open its Code window.
  3. In the Code window, write, copy/paste or edit the VBA code.
  4. Close the VB Editor.
  5. Close Excel and save the changes you've made to the Personal Macro Workbook when prompted.

Can I edit a macro in a hidden workbook?

How to use macros stored in Personal Workbook

Macros stored in your personal workbook can be used in any Excel file. For this, just open the worksheet in which you want to run the macro, and do the following:

  1. On the Developer tab, in the Code group, click the Macros button or press the Alt + F8 shortcut.
  2. In the Macro dialog box, you will see the list of macros available for use in all open workbooks, including the ones stored in the Personal.xlsb file. Select the target macro and click Run.
    Can I edit a macro in a hidden workbook?

You can also assign a custom shortcut to a macro or run it by clicking a special macro button.

How to export Personal Macro Workbook

Like any other VBA code, the macros stored in Personal.xlsb can be exported to a .bas file.

To export your personal macro workbook, here's what you need to do:

  1. Open the Visual Basic Editor.
  2. In the Project Explorer, right-click Module1 under PERSONAL.XLSB and select Export File.
  3. Navigate to the folder where you want to save your personal macro workbook, give the file any name you want, and click Save.

Can I edit a macro in a hidden workbook?

To import a .bas file that someone shared with you, right-click the module under PERSONAL.XLSB into which you want to place the macros, and select Import File.

In case you'd like to share your personal workbook with other people, proceed in one of the following ways.

Share the Personal.xlsb file

The easiest way to share a personal macro workbook with someone is to send them a copy of your Personal.xlsb file as attachment, or save it to a cloud storage or your local network. And then, other persons can put your Personal.xlsb file in their XLSTART folder. See where Personal.xlsb is located.

This simple approach, however, can be dangerous in case the other person already has his/her own macros in the Personal.xlsb file. So, I'd recommend replacing this file only on your own devices when you are absolutely sure you won't mess up anything.

Copy macros to another workbook

If you want to share just a few macros from your Personal.xlsb file, you can copy those macros to another workbook, and email that workbook to other users. For the detailed steps, please see How to copy macros to another workbook.

Export macros to a .bas file

A professional-like way is to move all the macros you wish to share into one module and export that module as a .bas file. Send the .bas file to other users by email, and they will be able import it as a new module into their Personal.xls file.

Note. Please be aware that some macros from your personal workbook may not work for other users, e.g. VBA code that refers to a specific sheet.

How to enable Personal Macro Workbook in Excel

If one day you open Excel and find out that your favorite macros are no longer there, don't panic! Most likely, the Personal.xlsb file was disabled by Excel after a crash, update, or for whatever reason.

Here are the steps to get your personal workbook up and running again:

  1. In your Excel, click File > Options.
  2. In the Excel Options dialog box, select Add-ins on the left-hand side.
  3. In the Manage drop-down list, pick Disabled Items and click Go.
  4. In the Disabled Items dialog box, select Personal Macro Workbook and click Enable.
  5. Restart your Excel.

Can I edit a macro in a hidden workbook?

How to prevent Personal.xlsb from opening but keep macros running

By default, the Personal Macro Workbook should not be visible in Excel. If the Personal.xlsb file keeps opening whenever you use macros and this really bugs you, you can hide it in this way:

  1. Navigate to the PERSONAL.XLSB workbook.
  2. On the View tab, in the Window group, click Hide.
    Can I edit a macro in a hidden workbook?

That's it! From now on, the personal workbook will be hidden from view but still launch in the background, so you could access the macros stored there.

How to unhide a personal workbook in Excel

To make your personal macro workbook visible, this is what you need to do:

  1. On the View tab, in the Window group, click Unhide.
  2. In the Unhide dialog box, select PERSONAL.XLSB and click OK.
    Can I edit a macro in a hidden workbook?

How to remove Personal.xlsb file

If you'd like to completely remove the Personal Macro Workbook from your computer, delete the Personal.xlsb file from the XLSTART folder. Here's how:

  1. Close all Excel workbooks.
  2. Open Windows Explorer.
  3. On the View tab, in the Show/Hide group, tick the Hidden Items checkbox.
  4. Navigate to the XLSTART folder. On Windows 7 – 10, it is located here:

    C:\Users\User Name\AppData\Roaming\Microsoft\Excel\XLSTART\

  5. Select PERSONAL.XLSB and press the Delete key, or right-click the file and choose Delete from the context menu.
    Can I edit a macro in a hidden workbook?

Note. To remove Personal.xlsb, you must close the Excel application first. If the file does not delete, that means it's still running in the background. To fix this, open the Task Manager and kill all running Excel processes.

That's how to make your favorite Excel macros available in all workbooks. I thank you for reading and hope to see you on our blog next week!

You may also be interested in

Will macro work on hidden sheets?

Your macro can access any cells in the workbook, unless the worksheet containing the cell is hidden. When you hide a worksheet, it is even hidden from normal macro operations.

Why can't I edit a macro in Excel?

To edit and run macros, you must set the security level to temporarily enable all macros: On the Developer tab, in the Code group, click Macro Security. Under Macro Settings, click Enable all macros (not recommended, potentially dangerous code can run), and then click OK.

Can you run a macro in any open workbook?

A Personal Macro Workbook is a hidden workbook in your system that opens whenever you open the Excel application. It's a place where you can store macro codes and then access these macros from any workbook.