Dan -
I've always found Toolbars in Excel a real pain to transfer as you describe for precisely the same reasons you have found. Thesedays I always create the toolbar programmatically from the personal.xls. I have included some code to help you on your way, but if you decide to use it you will have to change a few things to your requirements. Suggest you stick the code in an autoexec module or similar
Hope this helps.....
Asjeff
Dim cbrCommandBar As CommandBar
Dim cbcCBA As CommandBarButton
Dim cbcCBB As CommandBarButton
Dim cbcCBC As CommandBarButton
Dim cbcCBD As CommandBarButton
Sub Main()
'This will create a custom command bar for the program
On Error Resume Next
'delete any previous version
Application.CommandBars("MyToolbar"

.Delete
'Add main command bar and position it
Set cbrCommandBar = Application.CommandBars.Add
cbrCommandBar.Name = "MyToolbar"
cbrCommandBar.Position = msoBarTop
'add some controls (comboboxes in this case - change to what you require)
With cbrCommandBar.Controls
Set cbcCBA = .Add(msoControlButton)
Set cbcCBB = .Add(msoControlButton)
Set cbcCBC = .Add(msoControlButton)
Set cbcCBD = .Add(msoControlButton)
'Set properties of command buttons
cbcCBA.Width = 100
cbcCBA.Caption = "Your Caption"
cbcCBA.TooltipText = "Your Tool Tip"
cbcCBB.Width = 100
cbcCBB.Caption = "Your Caption"
cbcCBB.TooltipText = "Your Tool Tip"
'etc etc
cbcCBA.OnAction = "ProcedureA"
cbcCBB.OnAction = "ProcedureB"
cbcCBC.OnAction = "ProcedureC"
cbcCBD.OnAction = "ProcedureD"
End With
cbrCommandBar.Visible = True
End Sub
Sub ProcedureA()
msgbox "A"
End Sub
Sub ProcedureB()
msgbox "B"
End Sub
Sub ProcedureC()
msgbox "C"
End Sub
Sub ProcedureD()
msgbox "D"
End Sub