Unterschiede zur Vorgängerversion
Prozeduraufruf über Add-In-Menüleiste
Die Menüs der Vorgängerversionen gibt es nicht mehr. Trotzdem sind VBA-Lösungen vorangegangener Excelversionen verwendbar. Programmierte eigene Menüs erscheinen automatisch in einer speziellen Multifunktionsleiste "Add-Ins".
Eigene Menüeinträge (Controls) werden der Auflistung CommandBars(1) mit Add hinzugefügt. Der Auflistung aller eigenen Einträge können Sie eine Beschriftung zuweisen.
Aufgabe:
Notieren Sie diese Prozeduren in Ihrer Arbeitsmappe Mitarbeiter.xlsm.
Sub Menüeintrag_erstellen()
CommandBars(1).Controls.Add Type:=msoControlPopup, before:=1
CommandBars(1).Controls(1).Caption = "Test"
End Sub
Sub rück()
CommandBars(1).Reset
End Sub
Rufen Sie die Prozeduren nacheinander auf und beobachten Sie die Anzeige der Multifunktionsleiste Add-ins.
Wiederholt gleiche "Vorsätze" in Anweisungen wie in
CommandBars(1).Controls.Add Type:=msoControlPopup, before:=1
CommandBars(1).Controls(1).Caption = "Test"
können Sie vereinfacht durch folgende Zusammenfassung schreiben
With CommandBars(1)
.Controls.Add Type:=msoControlPopup, before:=1
.Controls(1).Caption = "Test"
End With
Dem Menü müssen noch einzelne Befehle in das Menü eingetragen und den Prozeduren zugewiesen werden. Zwei Befehle werden so z. B. eingetragen.
With CommandBars(1).Controls("Test")
.Controls.Add Type:=msoControlButton
.Controls(1).Caption = "erfassen_und_sortieren" 'Menüeeintrag
.Controls(1).OnAction = "erfassen_und_sortieren" 'Zuweisen der Prozedur
.Controls.Add Type:=msoControlButton
.Controls(2).Caption = " Sortieren" 'Menüeeintrag
.Controls(2).OnAction = " Sortieren" 'Zuweisen der Prozedur
End With
Untermenüs lassen sich so einfügen
With CommandBars(1).Controls(3)
.Controls.Add Type:=msoControlPopup, before:=1
With .Controls(1)
.Caption = "Ansichten"
.Controls.Add msoControlButton
.BeginGroup = True 'schreibt Strich darüber
.Controls(1).Caption = "Telefonliste"
.Controls(1).OnAction = "Telefonliste"
.Controls(2).Caption = "fix"
.Controls(2).OnAction = "fixA"
'. usw.
End With
End With
Aufgabe:
Öffnen Sie die Übungsdatei LösungMitarbeiter06.xlsm und sehen Sie sich die Prozedur Menü erstellen und alle davon aufgerufenen Prozeduren an.