Тема: VBA: создание панели инструментов
Поместите в модуле книги Excel код, аналогичный следующему:
Private Sub Workbook_Open()
On Error Resume Next
Application.CommandBars.Add(Name:="Название панели инструментов").Visible = True
Set b = Application.CommandBars("Название панели инструментов").Controls.Add(Type:= _
msoControlButton, ID:=2950, Before:=1, Temporary:=True)
b.Style = msoButtonCaption
b.Caption = "Название кнопки"
b.TooltipText = "Описание назначения кнопки"
b.OnAction = "ИмяМакроса()"
End Sub
Процедура обрабатывает событие открытия книги. Если указанная панель инструментов уже существует, второй раз она создана не будет. Поскольку кнопка на этой панели создаётся с параметром "Temporary:=True", при закрытии книги она будет уничтожена. Таким образом при открытии книги автоматически обеспечивается наличие панели с нужной кнопкой без "задвоений" кнопок и панелей и без каких-либо специальных проверок в коде. Свойство кнопки "OnAction" позволяет назначить ей нужный макрос.
В названии ветки всегда должен быть указан язык программирования или среда исполнения скрипта, если это возможно.