Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Kontextmenü erweitern

Kontextmenü erweitern
05.08.2004 16:50:31
MikeS
Hallo,
wenn ich einen Bereich markiert habe und dann das Kontextmenü aufrufe,
möchte ich einen zusätzlichen Eintrag „berechnet“ im Menü auswählen können.
Nach betätigen des Menüpunktes sollte der nachfolgende Text in die markierten
Zellen übertragen werden.
"berechnet (Info vom " & Date & ")"
Vielleicht kann mir jemand helfen.
Vielen Dank
MikeS
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontextmenü erweitern
K.Rola
Hallo,
soll das für all deine Mappen gelten oder nur für eine bestimmte?
Gruß K.Rola
AW: Kontextmenü erweitern
05.08.2004 17:28:20
MikeS
Hallo K.Rola,
für alle Mappen.
Sorry, war ich wohl zu ungenau!
Dankeschön
AW: Kontextmenü erweitern
05.08.2004 17:40:01
Nepumuk
Hallo Mike,
folgendes Addin sollte helfen: https://www.herber.de/bbs/user/9263.xla
Gruß
Nepumuk
Anzeige
AW: Kontextmenü erweitern
05.08.2004 17:43:48
MikeS
Hallo Nepumuk,
der Link funktioniert bei mir nicht!?
Dast Du noch eine andere Idee?
Danke MikeS
AW: Kontextmenü erweitern
K.Rola
Hallo Nepumuk,
da bin ich aber froh, dass du auch nicht mehr Aufwand betrieben hast. Du hast
sogar noch vergessen, .Protection auf 22 zu setzen(du erinnerst dich?).
Gruß K.Rola
Anzeige
@K.Rola
05.08.2004 18:16:55
Nepumuk
Hi K.Rola,
nachdem ich damals meine xlb gelöscht und das Programm in dem Leisten geschützt wurden korrigiert habe, verzichte ich darauf. Wenn der User die Commandbars kaputt macht, ist er selber Schuld. Dann bekomme ich einen Anruf und kann mir ein Stündchen Pause in einem anderen Büro + Kaffee gönnen. (Gottseidank sind die Kollegen dermaßen ahnungslos was VBA betriff, die glauben mir alles)
Gruß
Nepumuk
Anzeige
AW: Kontextmenü erweitern
K.Rola
Hallo,
kopier diesen Code in deine PERSONL.XLS ins Modul von "DieseArbeitsmappe":
Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call Menu_delete
End Sub


Private Sub Workbook_Open()
Call Menu_make
End Sub

''----------------------------------------------------------------------------------
Kopier diesen Code in deine PERSONL.XLS in ein Standardmodul:
Option Explicit
Sub Menu_make()
Dim cbb As CommandBarButton
Call Menu_delete
On Error Resume Next
Set cbb = CommandBars("cell").Controls.Add(1)
cbb.Caption = "berechnet"
cbb.OnAction = "eintragen"
End Sub
Sub Menu_delete()
On Error Resume Next
With CommandBars("cell")
.Protection = 22
.Controls("berechnet").Delete
End With
End Sub
Sub eintragen()
On Error Resume Next
ActiveCell = "berechnet (Info vom " & Date & ")"
End Sub
Eh es jemand anderes bemängelt, das ist nicht die Krone der Programmierung, erfüllt
aber seinen Zweck.
Gruß K.Rola
Anzeige
AW: Kontextmenü erweitern
MikeS
Vielen Dank. Genau so sollte es sein.
Einen schönen Tag noch für Dich.
Ciao Mike
;
Anzeige
Anzeige

Infobox / Tutorial

Kontextmenü in Excel erweitern


Schritt-für-Schritt-Anleitung

Um das Kontextmenü in Excel zu erweitern und einen zusätzlichen Eintrag "berechnet" hinzuzufügen, befolge die folgenden Schritte. Diese Anleitung ist für Excel-Versionen geeignet, die VBA unterstützen.

  1. Öffne deine Excel-Arbeitsmappe und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Finde die Datei PERSONL.XLS. Wenn sie nicht existiert, musst du sie erstellen:

    • Klicke auf EinfügenModul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul von "DieseArbeitsmappe" ein:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
        Call Menu_delete
    End Sub
    
    Private Sub Workbook_Open()
        Call Menu_make
    End Sub
  4. Füge diesen Code in ein Standardmodul ein:

    Sub Menu_make()
        Dim cbb As CommandBarButton
        Call Menu_delete
        On Error Resume Next
        Set cbb = CommandBars("cell").Controls.Add(1)
        cbb.Caption = "berechnet"
        cbb.OnAction = "eintragen"
    End Sub
    
    Sub Menu_delete()
        On Error Resume Next
        With CommandBars("cell")
            .Protection = 22
            .Controls("berechnet").Delete
        End With
    End Sub
    
    Sub eintragen()
        On Error Resume Next
        ActiveCell = "berechnet (Info vom " & Date & ")"
    End Sub
  5. Speichere die Datei und schließe den VBA-Editor.

  6. Öffne Excel erneut. Das Kontextmenü sollte jetzt den neuen Eintrag "berechnet" enthalten.


Häufige Fehler und Lösungen

  • Problem: Der neue Menüeintrag erscheint nicht.

    • Lösung: Stelle sicher, dass der Code korrekt in PERSONL.XLS eingefügt wurde und dass die Datei gespeichert ist. Überprüfe auch, ob du Excel neu gestartet hast.
  • Problem: Der Kontextmenüeintrag wird gelöscht, wenn ich Excel schließe.

    • Lösung: Der Menu_delete-Befehl entfernt den Eintrag beim Schließen der Arbeitsmappe, damit er beim nächsten Öffnen wieder erstellt wird.

Alternative Methoden

Eine alternative Methode, um das Kontextmenü anzupassen, ist die Verwendung von Excel-Add-Ins. Du kannst Add-Ins von Drittanbietern nutzen, die diese Funktionalität bieten, ohne VBA zu verwenden. Eine Empfehlung ist das Add-In, das von Nepumuk im Forum vorgeschlagen wurde.


Praktische Beispiele

Wenn du das Kontextmenü erfolgreich angepasst hast, kannst du den neuen Eintrag "berechnet" verwenden, um in einer markierten Zelle den aktuellen Datumstempel hinzuzufügen. Dies ist besonders nützlich, wenn du regelmäßig Daten eingibst und einheitliche Informationen benötigst.


Tipps für Profis

  • VBA-Sicherheit: Achte darauf, die Makrosicherheitseinstellungen in Excel zu überprüfen, um sicherzustellen, dass deine Makros ausgeführt werden können.
  • Backup erstellen: Erstelle ein Backup deiner PERSONL.XLS, bevor du Änderungen vornimmst.
  • Fehlerbehandlung: Ergänze deinen VBA-Code mit zusätzlicher Fehlerbehandlung, um die Stabilität zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich das Kontextmenü wieder auf die Standardwerte zurücksetzen?
Du kannst den Code in Menu_delete anpassen, um alle benutzerdefinierten Einträge zu löschen.

2. Funktioniert dieser Code auch in Excel für Mac?
Leider sind die CommandBars in Excel für Mac nicht verfügbar. Diese Methode funktioniert nur in der Windows-Version von Excel.

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