Seeking Effective Approach to Using Personal.xlsb on Multiple Machines

BCVolkert

New Member
Joined
Dec 19, 2014
Messages
30
Office Version
  1. 365
Platform
  1. Windows
I'm using Office365 on several machines that all run Windows 10 Pro. I login to those machines using a Microsoft Account and I have all the syncing options that I can find set to sync. My OneNote stuff syncs as do my spreadsheets. Changes on one machine show up on another machine even in the same spreadsheet running concurrently on multiple machines. The multiple machine mode is not my habit; but, it does work except for references to the Personal.xlsb workbook stored in %APPDATA%.

My approach has been to write nearly all my general purpose VBA in the Personal.xlsb stored in XLSTART or in Normal.docm stored in STARTUP at the default locations in %APPDATA%. My current problem with this approach is that references in a generic spreadsheet to my Personal.xlsb do not stick when the generic spreadsheet is stored in OneDrive. I'm not opening the generic spreadsheet in a Web app. I am simply using Excel and opening the generic spreadsheet from the OneDrive folder.

I'll write a function in the Personal.xlsb and get all the formulas in a generic workbook to work via a reference in the generic workbook stored on OneDrive. Later, when I reopen the generic workbook the reference to the Personal.xlsb has been removed and the function calls result in a #NAME? error for all functions defined in the Personal.xlsb file. When I open the VBA Editor, the Personal.xlsb has been opened from the XLSTART folder in %APPDATA% as expected; however, Tools/References shows that the box next to the relevant project name in Personal.xlsb has become unchecked. If I recheck the reference to the project name in Personal.xlsb, everything works as intended until I save and reopen the file. This occurs on the originating computer and the others (not surprising because all machines are probably configured identically).

I'd be interested in knowing if there is something I can do to get this to work effectively. Alternatively, I'd appreciate knowing if there is a better way to maintain and develop code that can be applied among several machines that use the same Microsoft Account. What I'd like to do is implement a generally recognized Best Practice for developing VBA code and deploying it for use in spreadsheets stored in OneDrive and used on multiple machines. At this stage, I'm a single user; but, may end up deploying the VBA for multiple users in a single Private Network. Clearly, the multiple user issue is a problem for another day.
 
Last edited:
Jan Karel Pieterse has a routine that allows an add-in to refresh itself when a new version becomes available. This might work for your personal.xlsm. His example gets the updated file from the internet, and only needing to get the file from a network or shared folder means you might be able to simplify the process.

Updating An Add-In Through The Internet
 
Upvote 0

Excel Facts

Excel motto
Not everything I do at work revolves around Excel. Only the fun parts.

Forum statistics

Threads
1,223,670
Messages
6,173,717
Members
452,528
Latest member
ThomasE

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top