Sub CreatePanel()
Dim i As Integer
On Error Resume Next
' Удаление одноименной панели (если есть)
CommandBars(«Список месяцев»).Delete
On Error GoTo 0
' Создание панели «Список месяцев»
With CommandBars.Add
.Name = «Список месяцев»
' Создание списка месяцев
With .Controls.Add(Type:=msoControlDropdown)
' Настройка (имя, макрос, стиль)
.Caption = «DateDD»
.OnAction = «SetMonth»
.Style = msoButtonAutomatic
' Добавление в список названий месяцев
For i = 1 To 12
.AddItem Format(DateSerial(1, i, 1), «mmmm»)
Next i
' Выделение первого месяца
.ListIndex = 1
End With
' Показываем созданную панель
.Visible = True
End With
End Sub
Sub SetMonth()
' Перенос названия выделенного месяца в ячейку
On Error Resume Next
With CommandBars(«Список месяцев»).Controls(«DateDD»)
ActiveCell.Value = .List(.ListIndex)
End With
End Sub