Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can you refer to an external macro with excel?

Tags:

excel

vba

I have a reasonably complex macro that I need to run on multiple different excel sheets, this macro is updated periodically and whenever a change is made its necessary to change it in each individual excel sheet. is there a way to get each excel document to refer to the one macro?

for example if i had a hierarchy like this:

    DOCUMENTS:
       -xlsheet1.xls
       -xlsheet3.xls
       -xlsheet2.xls
       MACROS:
            -macro1.bas

where there was a button in each sheet that ran macro1 when clicked.

like image 995
Jacxel Avatar asked Oct 20 '25 10:10

Jacxel


1 Answers

I would recommend either moving that macro to your personal file or create an Add-In


Working with Personal File

Topic: Create and save all your macros in a single workbook

Link: https://support.microsoft.com/en-us/office/create-and-save-all-your-macros-in-a-single-workbook-66c97ab3-11c2-44db-b021-ae005a9bc790

Quote from the above link:

When you first create a macro in a workbook, it works only in that workbook. But what if you want to use the macro in other workbooks? To make your macros available every time you open Excel, you can create them in a workbook called Personal.xlsb. That’s a hidden workbook stored on your computer, which opens in the background every time you open Excel.


Creating an Add-In

Topic: Creating Excel Add-ins

Link: http://www.ozgrid.com/VBA/excel-add-in-create.htm

Quote from the above link:

I am often asked by users 'what is the best way to distribute their macros?' My answer, is without doubt via an Excel Add-in. After all, this is what Add-ins are for. For those that are not sure what an Excel add-in is, it's is nothing more than an Excel Workbook that has been saved as an Add-in, File>Save as \ Microsoft Excel Add-in (*.xla). Once saved and re-opened the Workbook will be hidden and can only be seen in the "Project Explorer" via the Visual Basic Editor. It is NOT hidden in the same way as the Personal.xls as this can be seen (and made visible) via Windows>Unhide.

like image 153
Siddharth Rout Avatar answered Oct 23 '25 13:10

Siddharth Rout