I have a VBA macro that loads data into the workbook from the database. Currently we share these workbooks with others using Sharepoint, but I want to see how to best schedule the VBA macro once a day for a handful of workbooks, so that the macro runs in each workbook and saves (refreshes) on the shared site.
Is there a way to do this? Perhaps using "office scripts", or OneDrive even?
How can I take an Excel macro (VBA) and have it available in all of my excel workbooks?
Is there any way to distribute it as a package I can just load/install?
Can the same be done for a button that this macro is assigned to?
Thanks
I searched but could not find any topics on this specific use case.
I have developed code that I want to implement on multiple (>100) different excel files and was wondering if there is a way using VBA or other to add the VBA code to ALL worksheets in ALL excel workbooks in a specific folder.
In addition, I will need to enable Microsoft Internet Controls reference in all as well.
Thanks in advance.
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.
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.
The Personal file is good for having a macro across any number of workbooks on a single computer. In a networked environment with multiple users, you could simulate the Personal file by having a single workbook with your macros in it and coding all other workbooks to open and hide this workbook when they start up.
I have an Excel 2003 VBA solution I'm converting to Excel 2007. The solution had a large collection of menus that were used between multiple workbooks. I've created RibbonX to replicate this functionality, but now I'm to the point where I want to make my Ribbon show up on all these workbooks. How do I go about this? When I switch from one workbook to another the Ribbon disappears. This isn't a VSTO solution just to be clear it is straight Excel with VBA. I'm hopeful you don't have to put the RibbonX into each workbook.
You need to save it as an add-in (.xlam), which can then be added by other users. This will keep it visible for all workbooks.