Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
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
Inhaltsverzeichnis

Click Event für Ribbon Elemet

Click Event für Ribbon Elemet
27.10.2021 10:39:14
Flo
Hallo Zusammen,
könnte mir jemand auf die Sprünge helfen, wie ich den Klick auf ein vorhandenes Ribbon Symbol abfangen kann?
Konkreter: Wenn der Nutzer auf den "Füllfarbe-Ändern" Button oben im Menüband klickt, möchte ich dieses Event abfangen und mein eigenes Makro starten.
Was ich bereits (unter anderem, erfolglos) versucht habe:
Modul:
Public gcControls(1 To 1) As Class1
Sub AssignControl()
Set gcControls(1) = New Class1
Set gcControls(1).mButton = Application.CommandBars(1).Controls(1).Controls(5)
End Sub Klasse:
Public WithEvents mButton As CommandBarButton

Private Sub mButton_Click(ByVal Ctrl As Office.CommandBarButton, CancelDefault As Boolean)
Debug.Print "Hier bin ich"
End Sub
Besten Dank vorab für jeden Hinweis
Flo

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Click Event für Ribbon Elemet
27.10.2021 11:14:47
Nepumuk
Hallo Flo,
so wie du es machts, kannst du nicht auf RibbonControls zugreifen. Das geht nur per XML. ABER, der CellFillColorPicker ist ist vom Typ eine gallery und die lässt sich nicht umleiten.
Gruß
Nepumuk
AW: Click Event für Ribbon Elemet
27.10.2021 11:57:15
Flo
Damn it!
Hast du dann vll einen andern Vorschlag, wie ich das Ändern von Zellfarben abgreifen kann?
Ich habe es auch schon mit Private WithEvents cmb As Office.CommandBars und _OnUpdate versucht.
(siehe https://www.mrexcel.com/board/threads/capturing-cell-color-change-in-vba.574405/)
Das Problem dabei ist allerdings, dass es nicht verlässlich funktioniert und ständig läuft...
Anzeige
AW: Click Event für Ribbon Elemet
27.10.2021 12:02:46
Nepumuk
Hallo Flo,
das ist die einzige Option die mir eingefallen ist, aber das Event reagiert auf alles was du in Excel machts.
Gruß
Nepumuk
AW: Click Event für Ribbon Elemet
27.10.2021 12:09:07
Flo
Hmm... Auf jeden Fall schon Mal herzlichen Dank für deine Antworten!
Kannst du mir denn kurz erklären, was das genau macht bzw. warum es bei jeder Aktion aufgerufen wird?
Ich verstehe nicht ganz, was es mit dem Menüband zu tun hat, wenn ich bei den Zellen etwas ändere...
Also ich würde es einfach gerne verstehen können und bin aus der Wicrosoft Dokumentation überhaupt nicht schlau geworden. (https://docs.microsoft.com/de-de/office/vba/api/office.commandbars.onupdate)
Anzeige
AW: Click Event für Ribbon Elemet
27.10.2021 11:34:43
Alwin
Hallo Floh,
ein kleines Beispiel (Eigenes Menü):
ins Modul:
Sub zelleFaerben(control As IRibbonControl)
Tabelle1.Cells(3, 2).Interior.Color = vbGreen
End Sub
ins XML:












Anbei dieses Beispiel als Datei:
https://www.herber.de/bbs/user/148819.xlsm
Gruß Uwe
Anzeige
AW: Click Event für Ribbon Elemet
27.10.2021 12:01:01
Flo
Du meinst, dass ich dann einfach ein eigenes UserForm aufbauen, um die Zellen zu färben? Und dann eben auch ergänze, was ich sonst noch damit machen will?
AW: Click Event für Ribbon Elemet
27.10.2021 14:34:34
Alwin
Wie kommst du darauf etwas mit einem Userform machen zu wollen. Das Ribbon ist dein Menü Band in Excel. Wenn du da eigene Buttons Textfelder o.ä. einbauen willst, musst du das an zwei Stellen, entsprechend so wie ich es in meiner kleinen Beispieldatei getan habe, anlegen. Es gibt übrigens im Netz tolle Workshops, wo man das in Ruhe erlernen kann.
z.B.
https://www.rholtz-office.de/ribbonx/start
Wenn es tatsächlich nur ums einfärben von markierten Zellen oder Zellbereichen geht kann man es natürlich auch mit einem Button auf dem Tabellenblatt oder in einem Userform machen, aber das war ja nicht deine Frage.
Gruß Uwe
Anzeige
AW: Click Event für Ribbon Elemet
27.10.2021 15:37:56
Flo
Hey Uwe, ich habe mich vorher ja gar nicht bedankt. Von dem her auf jeden Fall schon Mal Danke für deine Mühe! :)
Das "große" Ziel ist es nicht nur die Zellfarbe zu ändern, sondern auch in einer anderen Datei, die sozusagen als externe Datenbank verwendet wird, die Zellfarbe zu hinterlegen. Leider gibt es dafür ja kein eigenes Event und die Möglichkeit, wie ich sie in meiner Antwort an Nepumuk beschrieben hab, ist auch nicht gerade ideal. Siehe hierfür: https://www.mrexcel.com/board/threads/capturing-cell-color-change-in-vba.574405/
Grund: Es funktioniert nicht zuverlässig und wird bei JEDER Aktivität ausgeführt.
Nochmals vielen Dank und beste Grüße!
Anzeige
AW: Click Event für Ribbon Elemet
28.10.2021 12:49:54
Flo
Hey Uwe, ich habe mich vorher ja gar nicht bedankt. Von dem her auf jeden Fall schon Mal Danke für deine Mühe! :)
Das "große" Ziel ist es nicht nur die Zellfarbe zu ändern, sondern auch in einer anderen Datei, die sozusagen als externe Datenbank verwendet wird, die Zellfarbe zu hinterlegen. Leider gibt es dafür ja kein eigenes Event und die Möglichkeit, wie ich sie in meiner Antwort an Nepumuk beschrieben hab, ist auch nicht gerade ideal. Siehe hierfür: https://www.mrexcel.com/board/threads/capturing-cell-color-change-in-vba.574405/
Grund: Es funktioniert nicht zuverlässig und wird bei JEDER Aktivität ausgeführt.
Nochmals vielen Dank und beste Grüße!
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige