1.8k Aufrufe
Gefragt in Tabellenkalkulation von Mitglied (926 Punkte)
Hallo Helfer,
innerhalb eines AddIns habe ich ein Makro, das das Kontextmenü der Zellen ergänzt, u.a. mit dieser Zeile:
Application.CommandBars("Cell").Controls.Add Type:=msoControlButton, _
ID:=3058

Der Eintrag lautet: "Bedingte Formatierung", das "D" wird allerdings bereits im Menüpunkt "Ausschneiden" verwendet. Lässt es sich dahingehend ändern, das stattdessen das "B" verwendet wird?

mfg
Wolfgang

5 Antworten

0 Punkte
Beantwortet von ericmarch Experte (4.6k Punkte)
Ich fürchte, dass das nichts geben wird wenn du hier auf Systembausteine zugreifst (ID:=3058) und die sich ›beißen‹.

Zumindest habe ich noch nicht versucht die Titel/Texte im Kontextmenü zu ändern. Möglich aber erscheint es mir. Wenn das Schema so ist wie ich es kenne müsstest du die «Be&dingte Formatierung» in «&Bedingte Formatierung» umbenennen.
Ich könnte mir vorstellen, dass du alle CommandBars mit For-Each abgrasen musst um dann ein Umbenennen zu erreichen.

Eric March
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo,
mein Denkansatz und damit auch die Frage sind unnötig kompliziert.
Es müsste ausreichen "einfach nur" den Eintrag "Ausschneiden" aus dem Kontext-Menü zu löschen, der ist hier sowieso überflüssig.
Dann müsste nach dem öffnen des Kontextmenüs, die Eingabe "D" zum öffnen des Untermenüs für die "Bedingte Formatierung" führen.
Ich habe noch mal Google bemüht und dann hier:
www.hajo-excel.de/vba_kontextmenue.htm
Makros zum verändern des Kontextmenüs gefunden und habe daraus dieses gemacht:
Dim Ini As Integer
For Ini = 3 To 1 Step -1
CommandBars("Cell").Controls(Ini).Delete
Next Ini

Das wars.
Vielen Dank Eric für dein Bemühen
Vielen Dank Hajo, auch wenn du hier mal nicht geantwortet hast, war die Lösung zu meinem Problem auf deiner Homepage.

mfg
Wolfgang
0 Punkte
Beantwortet von ericmarch Experte (4.6k Punkte)
Bist du sicher, dass es immer Positionen 1 bis 3 sind?
Dem Braten traue ich nämlich nicht mehr.
Eric March
0 Punkte
Beantwortet von Mitglied (926 Punkte)
Hallo Eric,
das Makro beginnt mit:
Sub KontextmenueErgaenzen()
Application.CommandBars("Cell").Reset

Erst wenn wir hier irgend wann auf Office 2010 umsteigen muss ich mir da erneut Gedanken machen.
mfg
Wolfgang
0 Punkte
Beantwortet von Mitglied (926 Punkte)
PS zu Antwort 4
Wir arbeiten z.Z. mit Office 2003
Wolfgang
...