Quick background, at work we have a powerful excel workbook which we use to generate multiple types of configuration files for our projects (.csv, .sql...). This is accomplished by a lot of data entry into the various sheets of the workbook as well a lot of custom VBA calls n the background. I have taken ownership of maintaining, improving, and updating it's functionality (however I am not a VBA expert, simply learn by doing). I have implemented version control so we can track functionality & changes, Now, I think the next challenge that I will take on is developing an automatic method to patch older versions with the new VBA code.

Currently this situation occurs:
Engineer starts a project with V1.0, while the project is under development we update/improve the "master" workbook to V1.1. To use the functionality of V1.1 the engineer needs to copy&paste all data entered into V1.0 into a new V1.1 workbook Tedious and prone to errors.

My vision:
After V1.1 is finalized I would export the updated VBA modules to a "patch" folder for distribution.

I would add an "update" button to the workbook. If I wanted to update an "in-process" V1.0 workbook to V1.1 the "update" button would initiate the following sequence:
1 - Deletes it's VBA modules
2 - Imports the "patch" modules
3 - Runs any VBA that which would update formatting of sheets contained within the workbook
4 - Delete any VBA code which is required during the patch process.

How tall of an order is this? Where would I start? Is it possible?

Thanks!