Просто переместите свой код в Excel Addin (XLA) - он загружается при запуске (при условии, что он находится в папке% AppData% \ Microsoft \ Excel \ XLSTART), но если это надстройка, а не рабочая книга, то только ваши макросы и определенные функции запуска будут загружены.
Если функции зависят от самой электронной таблицы, то вы можете использовать комбинацию шаблонов и надстроек.
Я распространяю часть приложения, подобного этой, у нас есть надстройки для Word, Excel и Powerpoint (XLA, PPA, DOT), а также версии Office 2007 для ленточных приложений (DOTM, XLAM и PPAM)
Код запуска надстройки создает кнопки панели инструментов, если они не найдены, это означает, что в любой книге / документе / и т. Д. Они могут просто нажать кнопку панели инструментов, чтобы запустить наш код (у нас есть две кнопки действий и одна кнопка, которая отображает настройки диалог)
Шаблоны на самом деле не подходят для кода VBA, надстройки - определенно путь ...
Таким образом, чтобы загрузить панели инструментов при запуске, мы используем что-то вроде .. (проверяя, существует ли панель инструментов, хотя - код будет запускаться для каждого открытого листа, но панели инструментов сохраняются для пользовательского сеанса)
Public Sub Workbook_Open()
' startup code / add toolbar / load saved settings, etc.
End Sub
надеюсь, что поможет:)