Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1204to1208
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Symbolleisten Makro zuweisen

Symbolleisten Makro zuweisen
haw
Hallo Excelfreunde,
ich habe nachstehendes Makro zur Korrektur der Zuweisung der Makros zu den Symbolen der Symbolleiste (wird dazu verwendet, den Gesamtpfad zur PERSONL.XLS zu entfernen und nur den Dateinamen PERSONL.XLS stehen zu lassen, da Excel sonst die PERSONL.XLS immer neu öffnen will, was nicht klappen kann):
Sub ZuweisungKorrigieren()
Dim oBar As CommandBar, efz%
Dim oCtr As CommandBarControl
Dim oBtn As CommandBarButton
Dim rNam$
For Each oBar In CommandBars
On Error Resume Next
For Each oCtr In oBar.Controls
If InStr(oCtr.OnAction, "PERSONL") Then
efz = Cells(Rows.Count, 1).End(xlUp).Row + 1
rNam = Mid(oCtr.OnAction, InStr(oCtr.OnAction, "!"), 50)
rNam = "PERSONL.XLS" & rNam
oCtr.OnAction = rNam
End If
Next oCtr
On Error GoTo 0
Next oBar
End Sub
Dieses funktioniert sehr gut, aber nur für einzelne Symbole. Jetzt habe ich auch eigene Menüs erstellt, in die ich Symbole für weitere Makros eingefügt habe.
Diese Zuweisungen werden durch mein Makro nicht berücksichtigt und ich weiß nicht wie ich diese "Untersymbole" ansprechen kann.
Vielleicht weiß jemand Rat.
Vielen Dank
Heinz

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Symbolleisten Makro zuweisen
21.03.2011 12:46:31
Rudi
Hallo,
deine Buttons stecken anscheinend in CommandbarPopup. Die musst du auch durchsuchen.
Letztlich läuft das auf rekursive Programmierung raus.
Test mal
Sub Start()
Dim cb As CommandBar
For Each cb In CommandBars
CheckControl cb
Next
End Sub

Sub CheckControl(cb As Object)
Dim cmd As CommandBarControl
For Each cmd In cb.Controls
Select Case cmd.Type
Case 1  'Button
If InStr(cmd.OnAction, "PERSONL") Then
cmd.OnAction = _
"PERSONL.XLS" & Mid(cmd.OnAction, InStr(cmd.OnAction, "!"), 50)
End If
Case 10 'Popup
CheckControl cmd
End Select
Next
End Sub

Gruß
Rudi
Anzeige
AW: Symbolleisten Makro zuweisen
21.03.2011 13:38:26
haw
Hallo Rudi,
funktioniert wunderbar!
Vielen Dank
Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige