Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dropdownliste
#21
Hallöchen,

ich habe hier mal ein Muster für die Änderung des Kontextmenüs (rechte Maustaste). In einem Tabellenblatt kann man die Einträge definieren und das Kontextmenü wird entsprechend aufgebaut. Wirken tut das im Beispiel bei Auswahl der Zelle b2. Geht man in eine andere Zelle, wird das Kontextmenü auf das originale Excel-Kontextmenü resettet.


Angehängte Dateien
.xlsm   VariablesKontextMenue.xlsm (Größe: 20,19 KB / Downloads: 17)
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • silex1
Antworten Top
#22
Hallo André,

vielen Dank für das Bsp. und den Erläuterungen. Hat was, so ne Variante. :21:
VG
von René und seinen 3 Gehirnzellen

Antworten Top
#23
(09.01.2017, 17:31)atilla schrieb: Hallo,

was, "Vielen Dank "?

Entspricht meinen Vorstellungen.
Entspricht gar nicht meinen Vorstellungen.
Ich nehme es als Anschauungsobjekt.
oder.....

Vielen dank für deine Hilfe,
dies ist auch eine gute Alternative, aber noch nicht ganz das richtige was ich Suche.
Was für mich bei der Variante im Vordergrund stand ist, dass die Liste Kurz ist und das die 5 Zusatzpunkte aus der Seite hervorkommen.
Ich meine bsp ich habe 12 Begriffe die in der Liste verankert werden, 12 Begriffe sind für so eine Liste sehr lang, deshabl soll diue liste nur 8Begriffe lang sein, da die restlichen 5 an der Seite rauskommen. (8 Zeilen lang ohne Leerzeilen). So wie das Bsp. von [b]schauan, [/b]bloß nur das in der Liste keine Leerzeilen sind. Ich glaube dies ist wirklich nicht umsetztbar, wie bei Windows mit den Pfeilen.
Antworten Top
#24
Hallo,

hier ging es auch um so etwas: http://www.online-excel.de/fom/fo_read.php?f=1&bzh=61776&h=61764
und darauf aufbauend http://www.online-excel.de/fom/fo_read.php?f=1&bzh=63977&h=63958

Gruß Uwe
Antworten Top
#25
(10.01.2017, 10:44)Kuwer schrieb: Hallo,

hier ging es auch um so etwas: http://www.online-excel.de/fom/fo_read.php?f=1&bzh=61776&h=61764
und darauf aufbauend http://www.online-excel.de/fom/fo_read.php?f=1&bzh=63977&h=63958

Gruß Uwe

Hallo Uwe,

vielen Dank diese Variante geht schon eher in die Richtung die ich mir vorstelle, gibt es eine Möglichkeit eine Voraussetzung zu setzten, dass man wenn Unfall in dem Feldsteht die Möglichkeit hat mit erneutem "Links Klick" das untermenü zuöffnen und dass man diese Popup nur in Spalte E aktivieren kann, bin leider kein VBA Spezi :(
Antworten Top
#26
Falls es jemanden interessiert, der umgeschriebene Code:

Function MeinAuswahlmenue()
  Static varAC As Variant
  Set varAC = Application.CommandBars.ActionControl
  If Not varAC Is Nothing Then Exit Function
  On Error Resume Next
  Application.CommandBars("Meine_Auswahl").Delete
  On Error GoTo 0
  With Application.CommandBars.Add("Meine_Auswahl", msoBarPopup, False, True)
    With .Controls.Add(msoControlPopup)
      .Caption = ""
      
      With .Controls.Add(msoControlPopup)
        .Caption = "Unfall"
        
        With .Controls.Add(msoControlButton)
          .Caption = "Unfall >= 2Personen"
          .OnAction = "MeinAuswahlmenue"
        End With
        With .Controls.Add(msoControlButton)
          .Caption = "Unfall < 2 Personen"
          .OnAction = "MeinAuswahlmenue"
        End With
        With .Controls.Add(msoControlButton)
          .Caption = "Gruppenunfall"
          .OnAction = "MeinAuswahlmenue"
        End With
        
      End With
      
      With .Controls.Add(msoControlPopup)
        .Caption = "Kranken"
        
        With .Controls.Add(msoControlButton)
          .Caption = "Krankenzusatz MB:"
          .OnAction = "MeinAuswahlmenue"
        End With
        With .Controls.Add(msoControlButton)
          .Caption = "Kranken Voll MB:"
          .OnAction = "MeinAuswahlmenue"
        End With
        
      End With
    End With
     .ShowPopup
    If Not varAC Is Nothing Then
      MeinAuswahlmenue = varAC.Caption
      Set varAC = Nothing
    End If
     .Delete
  End With
End Function
Antworten Top
#27
Hallo Lukas,

ich hab es mal mit Rechtsklick gemacht:



' **************************************************************
'  Modul:  Tabelle1  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************



Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
 If Not Application.Intersect(Range("E8:E200"), Target) Is Nothing Then
   Target.Value = MeinAuswahlmenue
   Cancel = True
 End If
End Sub



' **************************************************************
'  Modul:  Modul4  Typ = Allgemeines Modul
' **************************************************************


Option Explicit

Function MeinAuswahlmenue()
 Static varAC As Variant
 Set varAC = Application.CommandBars.ActionControl
 If Not varAC Is Nothing Then Exit Function
 On Error Resume Next
 Application.CommandBars("Meine_Auswahl").Delete
 On Error GoTo 0
 With Application.CommandBars.Add("Meine_Auswahl", msoBarPopup, False, True)
   With .Controls.Add(msoControlPopup)
     .Caption = "Unfall"
     
     With .Controls.Add(msoControlButton)
       .Caption = "Unfall >= 2Personen"
       .OnAction = "MeinAuswahlmenue"
     End With
     With .Controls.Add(msoControlButton)
       .Caption = "Unfall < 2 Personen"
       .OnAction = "MeinAuswahlmenue"
     End With
     With .Controls.Add(msoControlButton)
       .Caption = "Gruppenunfall"
       .OnAction = "MeinAuswahlmenue"
     End With
     
   End With
   
   With .Controls.Add(msoControlPopup)
     .Caption = "Kranken"
     
     With .Controls.Add(msoControlButton)
       .Caption = "Krankenzusatz MB:"
       .OnAction = "MeinAuswahlmenue"
     End With
     With .Controls.Add(msoControlButton)
       .Caption = "Kranken Voll MB:"
       .OnAction = "MeinAuswahlmenue"
     End With
     
   End With
   
   .ShowPopup
   If Not varAC Is Nothing Then
     MeinAuswahlmenue = varAC.Caption
     Set varAC = Nothing
   End If
    .Delete
 End With
End Function

Code eingefügt mit: Excel Code Jeanie


.xlsm   Provision HV 2017-1_Kuwer.xlsm (Größe: 212,2 KB / Downloads: 9)

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • hbboy15
Antworten Top
#28
Vielen Dank Uwe  :100: perfekt... :)
Antworten Top
#29
Uwe eine Frage habe ich noch, ich bin am überlegen die Dropdownliste wegzulassen und alles über die Liste von dir öffnen zulassen dies habe ich auch geschafft, meine Frage nun.

- Kann ich das auch per Linksklick öffnen lassen ?
   Funktioniert leider nicht.

Private Sub Worksheet_BeforeLeftClick(ByVal Target As Range, Cancel As Boolean)
  If Not Application.Intersect(Range("E8:E200"), Target) Is Nothing Then
   Target.Value = MeinAuswahlmenue
   Cancel = True
   End If
   End Sub

- Kann man einstellen das die Liste sich nach RECHTS öffnet und nicht immer nach LINKS
Antworten Top
#30
Hallo Lukas,

(10.01.2017, 16:18)hbboy15 schrieb: - Kann ich das auch per Linksklick öffnen lassen ?
   Funktioniert leider nicht.

Private Sub Worksheet_BeforeLeftClick(ByVal Target As Range, Cancel As Boolean)

es gibt leider kein Linksklickereignis. Alle jeweils möglichen Ereignisse kannst Du im VBA-Editor oben im rechten Auswahlfeld sehen. Im linken wählst Du vorher das gewünschte Objekt, hier Worksheet, aus.
Aber das Doppelklickereignis gäbe es noch:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
 If Not Application.Intersect(Range("E8:E200"), Target) Is Nothing Then
   Target.Value = MeinAuswahlmenue
   Cancel = True
 End If
End Sub


(10.01.2017, 16:18)hbboy15 schrieb: - Kann man einstellen das die Liste sich nach RECHTS öffnet und nicht immer nach LINKS

Ich wüsste nicht, wie man darauf Einfluss nehmen könnte. Bei mir geht es immer nach rechts.

Gruß Uwe
Antworten Top


Gehe zu:


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