Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Benutzerdefinierte Symbolleiste je Datei

Forumthread: Benutzerdefinierte Symbolleiste je Datei

Benutzerdefinierte Symbolleiste je Datei
26.01.2026 12:58:29
Torro
Hallo Zusammen,
bin schon lange auf der Suche nach einer Lösung, bisher leider vergebens.
Ich habe verschiedene Exceldateien, mit eigenen benutzerdefinierten Symbolleisten.
Alle auch mit unterschiedlichen Makros.
Öffne ich Datei 1 erscheint unter AddIns auch die dazugehörige Symbolleiste mit den Makros.
Öffne ich Datei 2, und schaue dann unter AddIns, habe beide Symbolleisten, mit den richtigen Makros.
Öffne ich Datei 2 mit STRG und Doppelklick, passiert es genauso, also scheinbar keine eigene Excel Instanz.

Wie bekomme ich es hin, dass beim Öffnen der Datei 2 auch nur die Symbolleiste für Datei 2 unter AddIns angezeigt wird, obwohl Datei 1 mit ihrer Symbolleiste ebenfalls geöffnet ist. Dort soll natürlich auch nur die Symbolleiste von Datei 1 unter AddIns angezeigt werden.

Dank im Voraus.

Für alle Dateien sieht mein Code bezüglich der Symbolleisten wie folgt aus und liegt im Modul 1

Option Explicit

Public Const ToolBarName As String = "entsprechender Name"
'===========================================
Sub Auto_Open()
Call CreateMenubar
End Sub

Sub Auto_Close()

If getCountOpenWorkbooks 2 Then
Call RemoveMenubar
End If

'UserForm1.Show

End Sub


Function getCountOpenWorkbooks()
Dim objWorkbook As Workbook
Dim i As Integer
For Each objWorkbook In Application.Workbooks
If objWorkbook.Name Like "entsprechender Name" Then
'MsgBox objWorkbook.Name
i = i + 1
End If
Next
getCountOpenWorkbooks = i
End Function

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
Dim CB As CommandBar

Call RemoveMenubar

MacNames = Array("Makro 1", _
"Makro 2", _
"Makro 3", _
"Makro 4")


CapNamess = Array("Name Makro 1", _
"Name Makro 2", _
"Name Makro 3", _
"Name Makro 4")


With Application.CommandBars.Add
.Name = ToolBarName
.Left = 1000
.Top = 50
.Protection = msoBarNoProtection
.Visible = True
.Position = msoBarTop

For iCtr = LBound(MacNames) To UBound(MacNames)
With .Controls.Add(Type:=msoControlButton)
.BeginGroup = True
.OnAction = "'" & ThisWorkbook.Name & "'!" & MacNames(iCtr)
.Caption = CapNamess(iCtr)
.Style = msoButtonCaption
.FaceId = 71 + iCtr
'.TooltipText = TipText(iCtr)
End With
Next iCtr
End With
End Sub
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Benutzerdefinierte Symbolleiste je Datei
27.01.2026 21:24:42
mumpel
Hallo!

Stelle auf RibbonX um. Schau Dir dazu meinen Workshop an. https://www.rholtz-office.de/ribbonx/start

Gruß, René
Anzeige

Forumthreads zu verwandten Themen

Anzeige