Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Dropdown-Menü ausklappen

Dropdown-Menü ausklappen
07.11.2023 07:40:24
Chris
Hallo,

offensichtlich wurde das Dropdown-Menü in letzter Zeit seitens MS überarbeitet und um sehr gute Funktionen erweitert. Leider lässt es sich jetzt nicht mehr per "SendKeys ("{Down}")" automatisch ausklappen.
Auch andere Varianten, die über Tastatur klappen z.B. ein Leerzeichen schreiben und dann wieder löschen --> SendKeys (" "), SendKeys ("{BACKSPACE}"), wirken sich zwar auf die Zelle, aber nicht mehr auf das Dropdown aus.

Ist euch eine andere Variante zum Ausklappen in der aktuellen Version bekannt?

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

Betreff
Datum
Anwender
Anzeige
AW: Dropdown-Menü ausklappen
07.11.2023 08:31:30
onur
Es gibt, so gesehen, kein "Dropdown-Menü"., höchstens Datenüberprüfung, Combobox Formularsteuerelement oder Combobox Active-X.
Was alsu mainst du damit?
AW: Dropdown-Menü ausklappen
07.11.2023 11:12:38
volti
Hallo Chris,

klappt's jetzt wieder?

Falls nicht oder mal als interessante Alternative hier mal ein anderer Beispielcode.

Wir machen das, was Du als User auch machen würdest. Wir klicken einfach den Dropdown-Button an.

Ist etwas mehr Code, aber bei mir klappt es...

Code:


Private Declare PtrSafe Function SetCursorPos Lib "user32" ( _ ByVal x As Long, ByVal y As Long) As Long Private Declare PtrSafe Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Dim Pt As POINTAPI Private Declare PtrSafe Sub mouse_event Lib "user32" ( _ ByVal dwFlags As Long, _ ByVal dx As Long, ByVal dy As Long, _ ByVal cButtons As Long, ByVal dwExtraInfo As LongPtr) Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Address <> "$F$3" Then Exit Sub With ActiveWindow.ActivePane GetCursorPos Pt ' Mausposition retten SetCursorPos .PointsToScreenPixelsX(Target.Offset(1, 1).Left) + 10, _ .PointsToScreenPixelsY(Target.Offset(1, 1).Top - 10) mouse_event &H6, 0, 0, 0, 0 ' Buttonclick leftdown + leftup SetCursorPos Pt.x, Pt.y ' Alte Mausposition wiederherstellen End With End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: Dropdown-Menü ausklappen
07.11.2023 12:17:02
Chris
Hallo Karl-Heinz,

der Code funktioniert auch bei mir.
Danke für deine Idee und Umsetzung, das erstspart mir das Zielen und meiner Maus mehrere Kilometer und tausende Klicks!



Das man die Maus auch steuern kann war mir bislang nicht so bekannt, "leider" fallen mir da noch einige Anwendungsbeispiele ein, die wahrscheinlich zu neuen Fragen führen werden... :)

Danke & Grüße,
Chris
AW: Dropdown-Menü ausklappen
07.11.2023 12:27:06
volti
Hallo Chris,

danke für die Rückmeldung.

Wieso "leider" fallen mir da noch einige Anwendungsbeispiele ein :-)

Über die API kann man fast alles machen, manches ist dann zwar etwas aufwändig und einiges auch in VBA anfälliger, aber wenn man es braucht oder möchte, nur zu.

Gruß
Karl-Heinz
Anzeige
AW: Dropdown-Menü ausklappen
07.11.2023 13:30:37
volti
Hallo zusammen,

sollten sich viele DropDown-Felder im aktuellen Blatt befinden und das Aufklappen bei allen DropDowns funktionieren gibt es hier eine kleine Ergänzung...

Code:


Private Declare PtrSafe Function SetCursorPos Lib "user32" ( _ ByVal x As Long, ByVal y As Long) As Long Private Declare PtrSafe Function GetCursorPos Lib "user32" ( _ lpPoint As POINTAPI) As Long Private Type POINTAPI x As Long y As Long End Type Private Declare PtrSafe Sub mouse_event Lib "user32" ( _ ByVal dwFlags As Long, _ ByVal dx As Long, ByVal dy As Long, _ ByVal cButtons As Long, ByVal dwExtraInfo As LongPtr) Private Sub Worksheet_SelectionChange(ByVal Target As Range) ' Datenüberprüfung (Dropdown) automatisch aufklappen Dim Pt As POINTAPI On Error GoTo Fehler ' Testen, ob Dropdown vorhanden If Target.Validation.Type <> xlValidateList Then Exit Sub With ActiveWindow.ActivePane GetCursorPos Pt ' Mausposition retten SetCursorPos .PointsToScreenPixelsX(Target.Offset(1, 1).Left) + 10, _ .PointsToScreenPixelsY(Target.Offset(1, 1).Top - 10) mouse_event &H6, 0, 0, 0, 0 ' Buttonclick leftdown + leftup SetCursorPos Pt.x, Pt.y ' Alte Mausposition wiederherstellen End With Fehler: End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz
Anzeige
AW: Dropdown-Menü ausklappen
07.11.2023 08:40:46
Chris
Das aus Datenüberprüfung --> Liste wird von mir genutzt.
AW: Dropdown-Menü ausklappen
07.11.2023 08:57:23
onur
2x SendKeys ("{BACKSPACE}") hintereinander
AW: Dropdown-Menü ausklappen
07.11.2023 09:10:04
Chris
Ich habe das in "Private Sub Worksheet_SelectionChange(ByVal target As Range)" drin, da klappt es mit dem Aufklappen nicht.
AW: Dropdown-Menü ausklappen
07.11.2023 09:27:38
Chris
Sowas wollte ich auch grad hochladen. :)

Wenn ich in deiner Datei die Zelle anklicke wird die 1 gelöscht und das Dropdown klappt nicht aus.
AW: Dropdown-Menü ausklappen
07.11.2023 09:28:41
onur
Bei mir schon !
AW: Dropdown-Menü ausklappen
07.11.2023 09:57:52
Chris
Ich hab es jetzt mit dem Code unten probiert, aber es weigert sich weiterhin auszuklappen...




Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim wshShell As Object


If Target.Address = "$F$3" Then
Set wshShell = CreateObject("WScript.Shell")
wshShell.SendKeys "%{DOWN}", True
Set wshShell = Nothing
End If
End Sub
AW: Dropdown-Menü ausklappen
07.11.2023 10:00:01
onur
Warum sollte DOWN auch funktionieren? Schickt doch den Cursor nur eine Zeile tiefer.
AW: Dropdown-Menü ausklappen
07.11.2023 10:16:33
Chris
Das "%" vor dem DOWN steht für "ALT". Mit "ALT+DOWN" bekommt man per Tastatur das Dorpdown auch zum Aufklappen.
Anzeige
AW: Dropdown-Menü ausklappen
07.11.2023 10:01:06
Oberschlumpf
Hi,

und bitte wie soll mir jetzt - nur der von dir gezeigte Code - helfen?! Ich kenn deine Datei und vllt anderen, vorhandenen Code nicht!
Zeig bitte per Upload Bsp-Datei mit...hach, hab ich dich schon so oft gebeten...du weißt doch eigtl, was du tun könntest, oder?

Ciao
Thorsten
AW: Dropdown-Menü ausklappen
07.11.2023 10:38:56
Oberschlumpf
genau DAS, bzw ich werd's wohl richtig eingesetzt haben, habe ich auch getan.
und wenn ich auf Zelle F3 klicke, wird das DropDown aufgeklappt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige