Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
968to972
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
968to972
968to972
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

eigenes Menü vor Hilfe

eigenes Menü vor Hilfe
18.04.2008 17:16:26
Andreas

Hallo Excelprofis!
Ich habe bei:
www.excelerator.de -Download -Udo's Menü
folgende Menüs gefunden. Diese funktionieren auch super (mit eingefügten Makros natürlich). Allerdings setzen sich die beiden Menüs immer unter die Symbolleiste. Ich möchte aber folgendes erreichen.:
1. Das, oder die Menüs erscheinen in der oberen Menüleiste vor dem Menüfeld "Hilfe"
2. Ich möchte das ganze als Add-In speichern, um es auch leicht weitergeben zu können, bzw. auch leicht über den Add-Ins Manager ab- und anzuschalten.
Wie muß ich das anstellen, bzw. wie muß der Code verändert werden um dies zu erreichen, habe leider von VBA wenig Ahnung.
Danke für die Hilfe!
Diese Arbeitsmappe:
Option Explicit


Private Sub Workbook_Activate()
Application.CommandBars("MeineLeiste").Visible = True
End Sub



Private Sub Workbook_deactivate()
On Error Resume Next
Application.CommandBars("MeineLeiste").Visible = False
End Sub



Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.CommandBars("MeineLeiste").Delete
End Sub



Private Sub Workbook_Open()
Call Menü_einfügen
End Sub


Modul1:
Sub Menü_einfügen()
Dim NeuesMenue As CommandBar, St As CommandBarButton, Pop1 As CommandBarPopup
On Error Resume Next
Application.CommandBars("MeineLeiste").Delete
On Error GoTo 0
Set NeuesMenue = CommandBars.Add(Name:="MeineLeiste", temporary:=True)
With NeuesMenue
.Position = msoBarTop
.Visible = True
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 1"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 1.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 3.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_3"
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 2"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_2_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.2"
.Style = msoButtonCaption
.OnAction = "Makro_2_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.3"
.Style = msoButtonCaption
.OnAction = "Makro_2-3"
End With
'und so weiter und so fort
End Sub


Sub Makro_1()
MsgBox "Erstes Makro"
End Sub


Sub Makro_2()
MsgBox "Zweites Makro"
End Sub


Sub Makro_3()
MsgBox "Drittes Makro"
End Sub


mfg Andreas

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eigenes Menü vor Hilfe
18.04.2008 17:38:19
Original Kurt
Hi,
"...Das, oder die Menüs erscheinen in der oberen Menüleiste vor dem Menüfeld "Hilfe"..."
Das geht nicht, wenn die controls in einer seperaten Symbolleiste platzierst, du müsstest diese
in der Menüleiste vor dem control mit der Id 30010 einfügen.
mfg Kurt

AW: eigenes Menü vor Hilfe
18.04.2008 17:45:56
Andreas
Hallo Kurt!
Danke für die schnelle Antwort! Leider verstehe ich nur Bahnhof. Ich habe nur herausgelesen das es nicht geht - Richtig?.
mfg, Andreas

AW: eigenes Menü vor Hilfe
18.04.2008 18:02:23
Original Kurt
Hi,
"...Ich habe nur herausgelesen das es nicht geht - Richtig?...."
Falsch, es geht nur nicht, wenn du deine eigenen controls in eine Sybolleiste einfügst,
sie müssen in der Menüleiste vor dem angegebenen control eingefügt werden.
mfg Kurt

Anzeige
AW: eigenes Menü vor Hilfe
18.04.2008 18:10:08
Andreas
Hallo Kurt!
Danke für die Antwort! Leider weiß ich nicht wie das geht, habe von VBA nicht viel Ahnung. Auch durch meine stundenlange Suche in verschiedenen Foren bin ich nicht so recht weitergekommen.
mfg Andreas

AW: eigenes Menü vor Hilfe
18.04.2008 18:09:39
Tino
Hallo,
hier mal ein Vorschlag.


'In "DieseArbeitsmappe"
Private Sub Workbook_Activate()
On Error Resume Next
Application.CommandBars(1).Controls("Mein Menü").Visible = True
On Error GoTo 0
End Sub
Private Sub Workbook_deactivate()
On Error Resume Next
Application.CommandBars(1).Controls("Mein Menü").Visible = False
On Error GoTo 0
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
On Error Resume Next
Application.CommandBars(1).Controls("Mein Menü").Delete
On Error GoTo 0
End Sub
Private Sub Workbook_Open()
Call Menü_einfügen
End Sub
'In ein Modul
Sub Menü_einfügen()
Dim NeuesMenue As CommandBarControl, St As CommandBarButton, Pop1 As CommandBarPopup
Dim i As Integer, a As Integer
On Error Resume Next
Application.CommandBars(1).Controls("Mein Menü").Delete
On Error GoTo 0
i = Application.CommandBars(1).Controls.Count
a = Application.CommandBars(1).Controls(i).Index
Set NeuesMenue = Application.CommandBars(1). _
Controls.Add(Type:=msoControlPopup, _
Before:=a, Temporary:=True)
With NeuesMenue
.Caption = "Mein Menü"
.Visible = True
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 1"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 1.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 3.1"
.Style = msoButtonCaption
.OnAction = "Makro_1_3"
End With
Set Pop1 = NeuesMenue.Controls.Add(Type:=msoControlPopup)
Pop1.Caption = "MeineMakros 2"
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.1"
.Style = msoButtonCaption
.OnAction = "Makro_2_1"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.2"
.Style = msoButtonCaption
.OnAction = "Makro_2_2"
End With
Set St = Pop1.Controls.Add(Type:=msoControlButton, ID:=1)
With St
.Caption = "Makro 2.3"
.Style = msoButtonCaption
.OnAction = "Makro_2-3"
End With
'und so weiter und so fort
End Sub


Gruß
Tino

Anzeige
AW: eigenes Menü vor Hilfe
18.04.2008 18:12:24
Andreas
Hallo Tino!
Ich werde es gleich mal testen und Rückantwort geben.
Danke für die Hilfe!
mfg, Andreas

AW: eigenes Menü vor Hilfe
18.04.2008 18:27:14
Andreas
Hallo Tino!
Danke für die Hilfe, genau das habe ich gesucht. Funktioniert super.
mfg, Andreas

AW: eigenes Menü vor Hilfe
18.04.2008 19:39:18
Tino
Hallo,
als Add-In habe ich hier auch mal ein Beispiel aufgebaut.
https://www.herber.de/bbs/user/51703.xla
Wie man es einbindet ist dir ja bekannt.
Gruß
Tino

AW: eigenes Menü vor Hilfe
19.04.2008 09:49:47
Andreas
Hallo Tino!
Danke für die Hilfe und Mühe! Da wird sich bestimmt auch manch anderer freuen, über eine so konfortable Lösung, seine Makros in die Menüleiste einzubinden.
Vielen Dank nochmals und ein schönes WE!
mfg Andreas

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige