Last updated: September 6, 2008 10:16 PM
Search Contextures Sites ![]()
Set up the Workbook
Add the Toolbar Code
Save the File as an Add-In
Install and Use the Add-In
Thanks to Dave Peterson, who wrote this technique. As you work in Excel, you may create several macros, that you'd like to use in a variety of workbooks. The following technique creates a floating toolbar, that you can open in any workbook, and click on a button, to run that macro.
Download the zipped sample file.
Option Explicit Public Const ToolBarName As String = "MyToolbarName" '=========================================== Sub Auto_Open() Call CreateMenubar End Sub '=========================================== Sub Auto_Close() Call RemoveMenubar End Sub '=========================================== Sub RemoveMenubar() On Error Resume Next Application.CommandBars(ToolBarName).Delete On Error GoTo 0 End Sub '=========================================== Sub CreateMenubar() Dim iCtr As Long Dim MacNames As Variant Dim CapNamess As Variant Dim TipText As Variant Call RemoveMenubar MacNames = Array("aaa", _ "bbb") CapNamess = Array("AAA Caption", _ "BBB Caption") TipText = Array("AAA tip", _ "BBB tip") With Application.CommandBars.Add .Name = ToolBarName .Left = 200 .Top = 200 .Protection = msoBarNoProtection .Visible = True .Position = msoBarFloating For iCtr = LBound(MacNames) To UBound(MacNames) With .Controls.Add(Type:=msoControlButton) .OnAction = "'" & ThisWorkbook.Name & "'!" & MacNames(iCtr) .Caption = CapNamess(iCtr) .Style = msoButtonIconAndCaption .FaceId = 71 + iCtr .TooltipText = TipText(iCtr) End With Next iCtr End With End Sub '=========================================== Sub AAA() MsgBox "aaa" End Sub '=========================================== Sub BBB() MsgBox "bbb" End Sub
Next, install the Add-In, so you can use it in any workbook.
- Open Excel.
- From the Excel menu bar, choose Tools | Add-Ins.
- Find your Add-In in the list, and add a check mark to its name.
- Click OK to close the Add-Ins dialog box.
- The MyToolbarName toolbar should appear, floating over the worksheet. You can drag it to another position, if you prefer.
- Click on a button to run that macro.
Note: If you're new to macros, you may want to read David McRitchie's intro at: http://www.mvps.org/dmcritchie/excel/getstarted.htm