öffentlich
Redaktion Druckversion

VBA lernen - Excel 2007/2010 (1)

4.666665
(12)
Beitrag bewerten
Kommentar schreiben
Stand: 14. Februar 2011

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.

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Downloads zu diesem Beitrag

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren