habe mir im Excel VBA eine eigene Symbolleiste gestrickt. Diese beinhaltet Buttons und Listenfelder (Dropdownfelder). Jetzt hab ich mich aber dazu entschlossen, das Listenfeld zusätzlich mit einem Button zu versehen, damit man den aktuellen Eintrag aus dem Listenfeld direkt mit dem Button erreichen kann.
Aber wie mache ich das.
Hier mal der mom. Code:
Sub Symbolleiste_erstellen()
Set CB = Application.CommandBars.Add(Name:=Symbolleistenname, _
temporary:=True, Position:=msoBarTop)
CB.Visible = True
'Hauptmenü
Set CBC = CB.Controls.Add(Type:=msoControlButton)
With CBC
.Caption = "Hauptmenü"
.OnAction = "SPM_Index"
.Style = msoButtonCaption
.BeginGroup = True
End With
'Monate
Set CBC = CB.Controls.Add(Type:=msoControlButton)
With CBC
.Caption = " 1 "
.OnAction = "SPM_1"
.Style = msoButtonCaption
.BeginGroup = True
.TooltipText = "Arbeitszeitnachweis für den Monat Januar"
End With
Set CBC = CB.Controls.Add(Type:=msoControlButton)
With CBC
.Caption = " 2 "
.OnAction = "SPM_2"
.Style = msoButtonCaption
.BeginGroup = True
.TooltipText = "Arbeitszeitnachweis für den Monat Februar"
End With
'Dropdown CommandBars
Set CBC = CB.Controls.Add(Type:=msoControlDropdown)
With CBC
.Caption = "Untermenü"
.AddItem "An- und Abwesenheitstage"
.AddItem "Grundeinstellungen"
.AddItem "Jahresübersicht /-Kalender"
.AddItem "Sollarbeitszeiten"
.AddItem "Urlaubsplanung"
.ListIndex = 2
.OnAction = "AuswahlUntermenü"
.TooltipText = "Arbeitszeitnachweis Kurzmenü"
.Width = 150
'.DropDownWidth = 150
.BeginGroup = True
End With
'Listeneintrag auswählen
Set CBC = CB.Controls.Add(Type:=msoControlButton)
With CBC
.Caption = "
Sub Symbolleiste_löschen()
On Error Resume Next
Application.CommandBars(Symbolleistenname).Delete
End Sub
Sub AuswahlUntermenü()
Dim objList As CommandBarControl
Dim Auswahl As Byte
Set objList = CommandBars.ActionControl
Auswahl = objList.ListIndex
Select Case Auswahl
Case 1:
Call SPM_ANAB
Case 2:
Call SPM_GE
Case 3:
Call SPM_JUE
Case 4:
Call SPM_SAZ
Case 5:
Call SPM_UP
End Select
End Sub
Vielen Dank schonmal für Eure Hilfe