Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1676to1680
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

Kontextmenü der re. Maustaste - reset

Kontextmenü der re. Maustaste - reset
25.02.2019 14:05:03
STeve
Hallo liebe Helfer.
Bei einem Blatt habe ich zwei cmd Button wo der User
das Menü der re Maustaste
a.) neu laden kann
und
b.) auch wieder "reseten"
kann.
Jetzt wird oft vergessen das Menü wieder zu reseten und die Mappe wird geschlossen.
Nun ist natürlich die ursprüngliche re. Maustastenbelegung bei Öffnung einer anderen Excel Datei nicht vorhanden.
Versuche über diesen Code ::

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application.CommandBars("Cell")
.Reset   ' die rechte Maustaste (Kontextmenü) wird wieder zurückgestellt
End With
End Sub

dies automatisch - bei Schließung der Datei - zu bewirken.
Funzt leider aber nicht?
Bitte um Tipps.
lg
STeve

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 14:19:19
Dieter(Drummer
Hallo Steve,
versuch mal mit:
Application.CommandBars("Cell").Enabled = True

Tipp habe ich aus diesem Forum.
Gruß, Dieter(Drummer)
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 15:15:35
STeve
Hallo Dieter
........geht leider nicht!!
mfg
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 15:49:01
Nepumuk
Hallo Steve,
wozu verbiegst du das Kontextmenü? Erstell ein eigenes und zeige es im Worksheet_BeforeRightClick-Event an.
Gruß
Nepumuk
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 16:21:04
STeve
Hi Nepumuk...............schau mal bitte den von mir eingestellten Code an.
Läuft super mit ein und aus Button.............
Keine Ahnung wie ich deinen Tipp umsetzen kann-- VBA nur Basic ;-)
lg
Anzeige
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 16:32:01
Nepumuk
Hallo Steve,
ich habe dir mal eine Beispielmappe erstellt. Beachte auch die Makros im Modul "DieseArbeitsmappe" und im Modul der Tabelle.
https://www.herber.de/bbs/user/127914.xlsm
Das "normale" Kontextmenü bleibt unberührt. Du kannst das eigene Menü auf eine Mappe, eine Tabelle oder einen bestimmten Bereich in den Tabellen beschränken.
Gruß
Nepumuk
AW: Kontextmenü der re. Maustaste - reset
25.02.2019 20:57:20
STeve
Hallo Nepumuk....habe es eingebaut...ist natürlich große Klasse und klappt toll. Vielen Dank dafür schon mal.
Aber wenn der User dann noch mal das normale Kontextmenü braucht (zum Beispiel er muss Zeilen einfügen usw) wäre ein cmd Button zum Ein und Auschalten schon notwendig.
Habe versucht einen Button anzulegen aber bei der Makrozuweisung bietet es mir die Makros nicht an?
Frage:
a.) geht sowas überhaupt?
b.) wenn ja....welches Makro müsste ich beim Ein und Aus - Button hinterlegen?
Besten Dank und mfg
STeve
Anzeige
AW: Kontextmenü der re. Maustaste - reset
26.02.2019 08:01:32
Nepumuk
Hallo Steve,
was hindert dich daran eine Standardfunktion in dein Kontextmenü einzufügen?
Gruß
Nepumuk
AW: Kontextmenü der re. Maustaste - reset
26.02.2019 08:19:05
Nepumuk
Nochmal Hallo,
hier ein Beispiel wie du "Zellen einfügen" in deine CommandBar bringst:
Set objCommandBarButton = CommandBars.FindControl(ID:=3181)

Call objCommandBarButton.Move(objCommandBar)

Gruß
Nepumuk
Anzeige
AW: Kontextmenü der re. Maustaste - reset
26.02.2019 08:28:04
Nepumuk
Ich schon wieder.
Move ist falsch, denn das entfernt den Button aus dem Standard-Kontextmenü. Copy ist richtig.
Also:
Set objCommandBarButton = CommandBars.FindControl(ID:=3181)

Call objCommandBarButton.Copy(objCommandBar)

Gruß
Nepumuk
...schön dass du mir das zutraust.
26.02.2019 08:35:04
STeve
Guten Morgen lieber Nepumuk.............cool dass du schon um die Zeit hier unterwegs bist!!!!!und uns Quälgeistern hilfst!!!
Schön dass du mir das zutraust ;-).......aber leider weiß ich nicht wohin mit den beiden Codezeilen.
Call objCommandBarButton.Move(objCommandBar) ''' ruft ein Makro auf das ich nicht habe
BITTE und Danke
mfg STeve
Anzeige
AW: ...schön dass du mir das zutraust.
26.02.2019 10:38:53
Nepumuk
Hallo STeve,
ich habe es dir nochmal vereinfacht damit du die ID's nicht raussuchen musst:
Public Sub CreateCommandBar()
    
    Dim objCommandBar As CommandBar
    Dim objCommandBarButton As CommandBarButton
    
    Call DeleteCommandBar
    
    Set objCommandBar = CommandBars.Add(Name:=CONTEXT_MENU, _
        Position:=msoBarPopup, Temporary:=True)
    
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    
    With objCommandBarButton
        .Caption = "1"
        .OnAction = "Testmakro1"
    End With
    
    Set objCommandBarButton = objCommandBar.Controls.Add(Type:=msoControlButton)
    
    With objCommandBarButton
        .Caption = "2"
        .OnAction = "Testmakro2"
    End With
    
    Call CommandBars("Cell").Controls(6).Copy(objCommandBar) '6=Zellen einfügen
    
    Set objCommandBarButton = Nothing
    Set objCommandBar = Nothing
    
End Sub

Gruß
Nepumuk
Anzeige
DANKESCHÖN...........
26.02.2019 18:05:56
STeve
DANKE Nepumuk........so einfach wenn man - so wie du - weiß wie es geht.
Perfekt..
Jetzt kann ich - hoffe ich - mich durch"googeln"......und ein perfektes rechtes Mauskontextmenü erstellen.
Dir noch einen traumhaften Tag.
glg STeve
zeig mal bitte den Code ...
25.02.2019 15:54:28
Matthias
Hallo
... der hinter den zwei cmd Button steckt.
........geht leider nicht!! Ist aber falsch.
Geht schon, nur sollte man nie ein Reset machen.
Immer nur Ein- und Ausschalten.
Warum, weil damit ein selbst erstelltes re.Kontexmenü gelöscht wird.
Gruß Matthias
Anzeige
AW: zeig mal bitte den Code ...
25.02.2019 16:17:59
STeve
Hallo Matthias...........hier der code der zwei Buttons: es werden aber 18 Makros eingefügt:
Hier Menü löschen und neu befüllen:

Sub rechte_Maustaste_ein()
Dim c As Object, c1 As Object
With CommandBars("Cell")
For Each c In .Controls   'das Kontextmenü der re. MT wird gelöscht
c.Delete
Next
Set c = .Controls.Add(1)
With c
.Caption = "1"
.OnAction = "Testmakro"
End With
Set c1= .Controls.Add(1)
With c1
.Caption = "2"
.OnAction = "Testmakro"
End With
End With
End Sub

und hier wieder altes Menü herstellen: in eigener Sub
Sub rechte_Maus_aus()
' die rechte Maustaste für die Anzeige/Eintragung der Dienst_Makros wird wieder zurückgestellt
Application.CommandBars("Cell").Reset
End Sub
mfg STeve
Anzeige
AW: zeig mal bitte den Code ...
25.02.2019 16:22:58
STeve
Hi Matthias L..........der code läuft über ein und aus CMD super.........was meinst du mit
Ein und Ausschalten
Bin leider nur VBA Basic.........;-)
mfg
AW: Wie ich jetzt sehe STeve, ....
25.02.2019 16:47:29
Dieter(Drummer)
... wurde dir bereits besser geholfen.
Gruß, Dieter(Drummer)
AW: Wie ich jetzt sehe STeve, ....
25.02.2019 17:07:50
STeve
Danke Dieter habe noch nicht probiert ob des funzt........aber volle nett und Danke für deine Unterstützung
Wünsch dir noch einen schönen Montag und klasse dass du immer so hilfsbereit bist.
mfg
STeve
AW: Danke für Rückmeldung, STeve, owT
25.02.2019 18:03:06
Dieter(Drummer)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige