Для того, чтобы создать кнопку - гиперссылку, можно использовать нижеприведённый код, который желательно разместить в стандартном модуле.
code: #vba
Private Sub CreateButtonHyperlink()
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2083
.OnAction = "MyHyperlink"
.Caption = "Microsoft Excel"
.TooltipText = "Посетить сайт"
.Style = msoButtonIconAndCaption
End With
End Sub
Private Sub MyHyperlink()
On Error Resume Next
ThisWorkbook.FollowHyperlink _
Address:="http://ode.ru", NewWindow:=True
End Sub
Актуально только для MS Excel 2000, XP:
В этой версии, решить поставленную задачу, вполне можно и без использования макросов, но если создание такой кнопки это только часть задачи, где применение макросов действительно имеет смысл, то:
Private Sub CreateButtonHyperlink_XP()
With Application.CommandBars(1).Controls.Add(Type:=msoControlButton)
.FaceId = 2083
.Caption = "Microsoft Excel"
.Style = msoButtonIconAndCaption
.TooltipText = "http://www.msoffice.nm.ru"
.HyperlinkType = msoCommandBarButtonHyperlinkOpen
End With
End Sub
В качестве примера выбрана стандартная панель инструментов ("Строка меню листа")
Вместо номера/индекса панели Вы можете использовать её имя, и заменить (1) на ("Worksheet Menu Bar")
При использовании этих примеров убедитесь, что панель инструментов не защищена