CommandBar in UserForm
#1
Hallo liebe Community,

Ich habe eine CommandBar in einer Uf als Menüleiste, soweit so gut.
Ich möchte aber gerne die Hintergrundfarbe ändern von dem Popup Menü.

Hier mal mein code:
Code:
Public Sub DoMenu(ByVal ctl As Object)
Dim i As Integer

On Error Resume Next
Set Menu = Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True)

For i = LBound(arrSubMenu) To UBound(arrSubMenu, 2)
   If VBA.Mid(arrSubMenu(0, i), 4, InStr(1, arrSubMenu(0, i), "_") - 4) = ctl.tag Then
       If arrSubMenu(4, i) = "" Then arrSubMenu(4, i) = 0
       DoSubMenu arrSubMenu(0, i), CByte(arrSubMenu(1, i)), arrSubMenu(2, i), arrSubMenu(3, i), CInt(arrSubMenu(4, i)), CBool(arrSubMenu(5, i))
   End If
Next i

Menu.ShowPopup (UF.Left * 4 / 3 + 3) + (ctl.Left * 4 / 3), (UF.Top * 4 / 3) + (ctl.Top + ctl.Height) * 4 / 3 * 2.1

Set ctl = Nothing
Set Menu = Nothing
End Sub
Ich dachte an eine API lösung aber Ich weiß nicht wie.
hoffe Ihr könnt mir helfen.
Lg Flo
Top
#2
Hallöchen,

Code:
Ich habe eine CommandBar in einer Uf als Menüleiste,

Bist Du Dir sicher Das die Commandbar in der UF ist?

Auch der Code spricht dagegen:

Code:
Set Menu = Application.CommandBars.Add(Position:=msoBarPopup, Temporary:=True)

Da ist nix von einem UF zu sehen …
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top
#3
Guten Morgen,

Doch die ist schon da der Code bzw. das Modul ist eine Klasse und ich greife darauf zurück.
Aber Ich hab jetzt eine lösung gefunden :19:

Lg Flo
Top
#4
(04.09.2018, 08:00)Florian20 schrieb: Aber Ich hab jetzt eine lösung gefunden :19:

da Du trotz Aufforderung keinen Link schreibst, mache ich das mal: http://www.office-loesung.de/p/viewtopic.php?f=166&t=777315&sid=bcc181243dc9adebdb4e6208ca2c64da  Angry
Top
#5
Weil das nicht die Lösung ist Blush
da wird nur beschrieben wie man ein Menü erstellt das weiß ich.
Top
#6
Hallo,

Zitat aus dem Nachbarforum von Flotter Feger, wo Du davon ausgehen kannst, dass es seine Richtigkeit hat ...

Zitat:...die Backcolor einer CommandBar kannst du programmatisch nicht ändern.

Du kannst Dir ein Menü ausschließlich mit Windows API programmieren, wie auch im Nachbarforum verlinkt.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste