Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Menü´s erstellen

Menü´s erstellen
05.02.2005 22:36:34
Ali
Hallo Forum,
mit folgendem Auszug aus meinem Code habe ich mir eine Menüeleiste mit Untermenü`s
erstellt. Aktiviert wird sie über eine Befehlsschaltfläche.

Sub MenüErstellen()
Dim AktiveMenüLeiste As Object
Dim MeinMenü As Object, Befehl As Object, MB As Object
On Error Resume Next
Application.CommandBars("MeinMenü").Delete
CommandBars.ActiveMenuBar.Controls("Mein Menü").Delete
Set MB = CommandBars.Add(Name:="MeinMenü", MenuBar:=True)
CommandBars("MeinMenü").Visible = True
Set AktiveMenüLeiste = CommandBars.ActiveMenuBar
Set MeinMenü = _
AktiveMenüLeiste.Controls.Add(Type:=msoControlPopup, Temporary:=True)
MeinMenü.Caption = "&ErstVersuch"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=1)
With Befehl
.Caption = "&Test"
.OnAction = "Start_Test"
End With
End Sub

Nun würde ich aber gerne noch drei weitere Menü´s mit Untermenü´s generieren. Ab hier
setzt es dann bei mir aus. wer kann mir weiterhelfen, diese in den bisherigen Code
einzubinden?
Danke schon jetzt für eure Unterstützung
Gruß
Ali

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Menü´s erstellen
05.02.2005 22:56:02
Ali
Hallo Rainer,
möglicherweise habe ich mich falsch Ausgedrückt.
Aber, ich suche keine Möglichkeit weitere Untermenü´s
zu erstellen(das ist ja bestens beschrieben) sondern
weitere Menüpunkte mit Untermenü´s. Das ist für mich
als VBA-Neuling aus dem Code nicht erkennbar.
Hilfst du mir auf die Sprünge?
Gruß
Ali
AW: Menü´s erstellen
Ramses
Hallo
Woher soll ich wissen, dass du VBA-Neuling bist.
Es war doch "ein Auszug aus Deinem Code" den zu da beschrieben hast und Im Level stand nix.
Anyway, nachdem du die Seite ja wahrsscheinlich angeklickt hast, hätte der zweitletzte Beitrag auf dieser Seite dein Problem gelöst :-)
Gruss Rainer
Anzeige
Entschuldigung
06.02.2005 00:53:00
Ali
Hallo Rainer,
---Woher soll ich wissen, dass du VBA-Neuling bist.
Im Level steht: Kaum Excel/VBA-Kenntnisse
---Es war doch "ein Auszug aus Deinem Code" den zu
---da beschrieben hast
Hmmm, Denke, das man euch Profis nichts vormachen kann.
Natürlich habe ich den Code nicht selbst geschrieben und
Entschuldige mich hiermit für die Bezeichnung "meinen Code"!
---Anyway, nachdem du die Seite ja wahrsscheinlich angeklickt
---hast, hätte der zweitletzte Beitrag auf dieser Seite dein
---Problem gelöst :-)
Möglicherweise, wenn mann mehr Ahnung davon hätte! Hab ich aber
nicht! Darum ja auch meine Frage hier im Forum.
Gruß
Ali
Anzeige
AW: Entschuldigung
Hasan
Hallo Ali
Erweitert in zwei Richtungen

Sub MenüErstellen()
Dim AktiveMenüLeiste As Object
Dim MeinMenü As Object, Befehl As Object, MB As Object
On Error Resume Next
Application.CommandBars("MeinMenü").Delete
CommandBars.ActiveMenuBar.Controls("Mein Menü").Delete
Set MB = CommandBars.Add(Name:="MeinMenü", MenuBar:=True)
CommandBars("MeinMenü").Visible = True
Set AktiveMenüLeiste = CommandBars.ActiveMenuBar
Set MeinMenü = _
AktiveMenüLeiste.Controls.Add(Type:=msoControlPopup, Temporary:=True)
MeinMenü.Caption = "&Birinci"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=1)
With Befehl
.Caption = "&Birinci"
.OnAction = "Start_Test"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=2)
With Befehl
.Caption = "&Ikinci"
.OnAction = "Start_Test2"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=3)
With Befehl
.Caption = "&Ücüncü"
.OnAction = "Start_Test3"
Set MeinMenü = _
AktiveMenüLeiste.Controls.Add(Type:=msoControlPopup, Temporary:=True)
MeinMenü.Caption = "&Ikinci"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=4)
With Befehl
.Caption = "&Test"
.OnAction = "Start_Test"
Set MeinMenü = _
AktiveMenüLeiste.Controls.Add(Type:=msoControlPopup, Temporary:=True)
MeinMenü.Caption = "&Ücüncü"
Set Befehl = MeinMenü.Controls.Add(Type:=msoControlButton, ID:=2)
With Befehl
.Caption = "&Test"
.OnAction = "Start_Test"
End With
End With
End With
End With
End With
End Sub

Gruß
Hasan
Anzeige
Gefährlich...
Ramses
Hallo
da müsstest du ihm schon auch noch den Code geben, damit er seine zerschossene Menübar wieder herstellen kann.
Anonsten ist an ein normales Arbeiten nach der Ausführung deines Codes nicht mehr möglich.
Set MB = CommandBars.Add(Name:="MeinMenü", MenuBar:=True)
Mit dieser Anweisung blendest du die aktive Menüleiste(Datei-Bearbeiten-Ansicht usw.) aus und stellst stattdessen deine rudimentäre Menubar dar.
ALLE Befehle und Menüs dieser Menüleiste stehen nicht mehr zur Verfügung !!
Ist das gewollt ?
Wenn ja, solltest du ihn zumindest darauf hinweisen.
Gruss Rainer
Gruss Rainer
Anzeige
AW: Gefährlich...
Hasan
Hallo Rainer
Danke für den hinweis
Du hast recht da wird das normale menüleiste ausgeblendet aber komischer weise bei neustart des Excells sind die alten menüleisten wieder da. Ich habe dazu keine erklärung gefunden.
gruß
Hasan
AW: Gefährlich...
Ramses
Hallo
verwende diese Anweisung
Set MB = Application.CommandBars.ActiveMenuBar.Controls.Add _
(Type:=msoControlPopup)
With MB
.Caption = "&Birinci"
'usw.
End With
Damit kannst du deinen Code weiter aufbauen, OHNE die MenuBar auszublenden
Gruss Rainer

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige