There a couple of ways to go here. Firstly, check out the Microsoft Visual Basic of Applications Extensibility reference in VBA. You will find ways to manipulate code modules and other components. Secondly, you could locate all of your code in one Excel workbook and use it to create other workbooks with user selected templates. I prefer the first methods, as you may never know what you will run into in someone else's Personal.xls