Hallo Silvia,
eine Möglichkeit wäre, eine Symbolleiste zu programmieren, die sich beim Excelstart selbsterstellt und beim Schliessen von Excel löscht.
Sinn macht das allerdings erst, wenn Du VBA im Addin hast, weil die einzelnen Makros mit dieser neuen Symbolleiste verbunden werden müssen.
Hier mal ein Beispiel für eine waagerechte Symbolleiste mit 3 Schaltflächen + Tooltips + Icons:
Dieser Code muß in "Diese Arbeitsmappe" im VBA-Editor:
Private Sub Workbook_Open()
Dim cb As CommandBar
Dim CBC As CommandBarButton
Dim I%
On Error Resume Next
Set cb = Application.CommandBars.Add(Name:="(hier wie die Symbolleiste heißen soll)", _
temporary:=True, Position:=msoBarTop)
On Error GoTo 0
cb.Visible = True
For I = 1 To 3 '<--- Anzahl Deiner Makros
Set CBC = cb.Controls.Add(Type:=msoControlButton)
With CBC
.Width = 150
.Style = msoButtonIconAndCaption
Select Case I
Case 1
.Caption = "(hier der Name des 1. Buttons)"
.OnAction = "(hier nur der Name des dazugehörenden Makros)"
.TooltipText = "(hier Beschreibung für den User zu dem Makro)"
.FaceID = (z.Bsp.: 263)
Case 2
.Caption = "(hier der Name des 2. Buttons)"
.OnAction = "(hier nur der Name des dazugehörenden Makros)"
.FaceID = (z.Bsp.: 263)
.TooltipText = "(hier Beschreibung für den User zu dem Makro)"
Case 3
.Caption = "(hier der Name des 3. Buttons)"
.OnAction = "(hier nur der Name des dazugehörenden Makros)"
.FaceID = (z.Bsp.: 263)
.TooltipText = "(hier Beschreibung für den User zu dem Makro)" '(Diese Case's kannst Du immer wieder erweitern)
End Select
End With
Next I
End Sub
Private Sub Workbook_Deactivate()
On Error Resume Next
If Application.CommandBars("(hier der Name Deiner Symbolleiste)").Visible = True Then
Application.CommandBars("(hier der Name Deiner Symbolleiste)").Visible = False
End If
On Error GoTo 0
End Sub
Private Sub Workbook_Activate()
On Error GoTo neu
If Application.CommandBars("(hier der Name Deiner Symbolleiste)").Visible = False Then
Application.CommandBars("(hier der Name Deiner Symbolleiste)").Visible = True
End If
On Error GoTo 0
Exit Sub
neu:
Workbook_Open
On Error GoTo 0
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars("(hier der Name Deiner Symbolleiste)").Delete
On Error GoTo 0
End Sub
Wenn Du die Makros im o.g. Code eingebunden hast, Dein Addin als .XLA abspeichern.
Nun ist es "transportierbar". :-)
Funktioniert nicht nur mit Win 2000, sondern auch mit XP.
Das Addin mit Hilfe des Addin-Managers einbinden. Excel schleßen und wieder starten.
Nun sollte es klappen.
So..., ich hoffe, dass ich nichts vergessen habe und es auch bei Dir funktioniert und Dir hilft.
Gruß
Angela