Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to write a VBA script in one workbook, and use it in other workbooks in the machine? I guess I'm looking for a way to write a macro package.

EDIT Following the instruction in the link given by Lance, I managed to create the addin, but I cannot see it in the 'Macros' tab. What am I missing?

share|improve this question
up vote 9 down vote accepted

There are a few ways to do this, here's one link that explains how to create an Excel Addin with VBA code. You can also create other types of addins in other ways, but this is the simplest. There are thousands of references you can search for that talk about how to do this.

share|improve this answer

No addon making required!

Store it in a special workbook called Personal.xlsb


This advanced tip shows you how to make macros available across all your workbooks, by saving them to a special workbook that Excel loads each time it is opened.

If you found this video helpful, kindly edit this answer to add transcribed text.

share|improve this answer
This is good only if other users does not have their own set of VBA codes in that .xlsb file. I have not tested what will happen if Sub name clash between multiple .xlsb file in XLSTART folder – PatricK Mar 3 '15 at 5:11
@PatricK Of course not. It works with multiple users in a windows machine. Each user gets their own XLSTART folder. Notice that path to XLSTART looks like C:\Users\<UserName>\AppData\Roaming\Microsoft\Excel\XLSTART . Since there is a Username, its different for each user – Dheeraj Bhaskar Mar 3 '15 at 15:24

Take advantage of the UserProfile environment variable to aviod that 'different for each user' caveat.

so the standardized Path is: %UserProfile%\AppData\Roaming\Microsoft\Excel\XLSTART

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .