Если перед вам стоит задача по автоматизации чего нибудь в excel,
то забудьте про макросы, расположенные непосредственно в книге,
создавайте панель инструментов (ribbon), которая
1) не зависит от конкретного файла
2) располагается в основной панели инструментов
3) дает кастомизируемый UI
Для того что бы создать такую панель вам потребуется
1) файл excel с расширением xlam, расположенный в
%userprofile%\appdata\roaming\microsoft\addins
2) редактор xml ресурса (для разметки кнопок)
github.com/fernandreu/office-ribbonx-editor/releases/tag/v1.6
3) определить кнопки по примеру
button id=b_MemberSelect label=Member Select
onAction=p_MemberSelect imageMso=ReturnToTaskList size=large
/>
где p_MemberSelect это процедура VBA
4) в иницилазации процедуры (в файле xlam) нужно передавать
предопределенные параметры
Sub p_MemberSelect(ByVal vIRibbonControl As IRibbonControl)
Но у данного решения есть одно ограничение нет возможности
создавать формы, встроенные в панели Excel, например:
Этот пример из проекта In2Sql (плагин для Excel,
который визуализирует объекты SQL). В этом плагине код создан с
помощью c# и библиотек VSTO.