Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Menüpunkt mit Funktion

Forumthread: Menüpunkt mit Funktion

Menüpunkt mit Funktion
14.09.2004 18:50:48
Michi
Hallo,
hab folgendes Problem. Mit dem Code soll über eine Userform ein neuer Menüeintrag in einer eigenen Symbolleiste erstellt werden. Leider ist dieser Menüeintrag weg, sobald ich das File schließe. Sicher nur ein kleiner Fehler, aber ich find ihn nicht. Außerdem erstellt der Code nur einen neuen Menüeintrag, wenn bereits einer vorhanden ist. Ist das Menü leer, bringt er einen Debug-Fehler. Woran liegts?

Sub CreateControl()
Dim objBtn As CommandBarButton
'Begin insert Testmitarbeiter
On Error Resume Next
Application.CommandBars("Urlaubsplanung").Controls("Ansicht").Controls("Personal").Controls("Testmitarbeiter").Delete
Err.Clear
Set objBtn = Application.CommandBars("Urlaubsplanung").Controls("Ansicht").Controls("Personal").Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
If Err <> 0 Then
Err.Clear
Set objBtn = Application.CommandBars("Urlaubsplanung").Controls("Ansicht").Controls("Personal").Controls.Add(Type:=msoControlButton, Before:=1, Temporary:=True)
End If
On Error GoTo 0
With objBtn
.Caption = ActiveSheet.Name
.Parameter = ActiveSheet.Name
.OnAction = "ActivateTab"
.BeginGroup = False
.TooltipText = "Blatt " & ActiveSheet.Name & " anwählen"
.Style = msoButtonIconAndCaption
.FaceId = 2141
End With
'End insert Testmitarbeiter
End Sub

Lieben Gruß
Michi
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Menüpunkt mit Funktion
14.09.2004 19:40:59
Nepumuk
Hallo Micha,
1. Das bewirkt der Parameter "Temporary:=True"
Wenn der Eintrag dauerhaft sein soll, dann einfach weglassen.
2. Das kommt vom Parameter "Before:=1"
Du musst eine Abfrage vorschalten, welche dir die Anzahl der Steuerelemente angibt (Controls.Count) ist diese null, dann den Parameter weglassen, ansonsten benutzen.
Gruß
Nepumuk
Anzeige
AW: Menüpunkt mit Funktion
14.09.2004 19:49:35
Michi
Hallo Nepumuk,
danke für deine schnelle Antwort. Da ich aber in VB eine absolute Niete bin (hab den Code mit Mühe und NOt zusammengeschustert) klappts bei mir irgendwie nicht. Wenn ich das Temporary ganz weg lasse, bringt er mir einen Laufzeitfehler 91: Objekt- oder Blockvariable nicht festgelegt.
Außerdem könnte ich zum Punkt 2 auch noch ein bißchen Anstoß gebrauchen. Sorry, aber manchmal ist VB für mich wie chinesisch.
Gruß Michi
Anzeige
AW: Menüpunkt mit Funktion
14.09.2004 19:58:56
Nepumuk
Hallo Michi,
einfach die beiden Zeilen mit denen der Button erstellt wird ändern:


   Set objBtn = Application.CommandBars("Urlaubsplanung").Controls("Ansicht").Controls("Personal").Controls.Add(Type:=msoControlButton, Before:=1)
   If Err <> 0 Then
      Err.Clear
      Set objBtn = Application.CommandBars("Urlaubsplanung").Controls("Ansicht").Controls("Personal").Controls.Add(Type:=msoControlButton)
   End If


Gruß
Nepumuk
Anzeige
AW: Menüpunkt mit Funktion
14.09.2004 20:13:33
Michi
Danke für den Tip Nepumuk :-)
Wünsch dir noch einen schönen Abend
Gruß Michi
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige