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

Strg - Taste und Buchstabe auslesen

Strg - Taste und Buchstabe auslesen
27.04.2021 15:36:16
Holly
Hallo liebes Forum,
ich habe folgenden Code erstellt zum Auslesen einer Listbox:

Private Sub ListBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case True
Case CBool(GetAsyncKeyState(VK_CTRL) And &H8000) And CBool(GetAsyncKeyState(VK_SHIFT) And &H8000)
MsgBox "SHIFT+STRG   "
Case CBool(GetAsyncKeyState(VK_CTRL) And &H8000)
MsgBox "STRG-Taste"
Case CBool(GetAsyncKeyState(VK_SHIFT) And &H8000)
MsgBox "SHIFT - Taste"
Case Else
'MsgBox "keine Taste   - Position nicht bearbeitet damit Doppelklick funktioniert"
End Select
End Sub
Die Sub funktioniert wunderbar und ich kann mit der Shift-Taste und einem Klick auf eine Position in der Listbox eine Fuktion aufrufen. Soweit so noch nicht perfekt!
Jetzt zu meiner Frage:
Ich möchte die Strg.-Taste mit einem Buchstaben (z.B. "l" wie Löschen) kombinieren. Das Kombinieren von Strg. und Shift funktioniert, wie bekomme ich das aber mit Strg. + "l" hin?
Wer kann helfen?
Vielen Dank für eure Unterstützung
Gruss
Holly

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 15:53:58
Nepumuk
Hallo Holly,
teste mal:
Code:

[Cc][+][-]

Option Explicit Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" ( _ ByVal vKey As Long) As Integer Private Sub ListBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) _ Select Case True Case GetAsyncKeyState(vbKeyControl) And &H8000 = &H8000 And GetAsyncKeyState(vbKeyShift) And &H8000 = _ &H8000 MsgBox "SHIFT+STRG " Case GetAsyncKeyState(vbKeyControl) And &H8000 = &H8000 And GetAsyncKeyState(vbKeyI) And &H8000 = _ &H8000 MsgBox "STRG+I" Case GetAsyncKeyState(vbKeyControl) And &H8000 = &H8000 MsgBox "STRG-Taste" Case GetAsyncKeyState(vbKeyShift) And &H8000 = &H8000 MsgBox "SHIFT - Taste" Case Else ' MsgBox "keine Taste - Position nicht bearbeitet damit Doppelklick funktioniert" End Select End Sub


 

Gruß
Nepumuk
Anzeige
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 16:11:22
Holly
Hallo Nepumuk,
so habe ich es nun hingekriegt (VBKeyL war das Problem):
Case CBool(GetAsyncKeyState(vbKeyControl) And &H8000) And CBool(GetAsyncKeyState(vbKeyL) And &H8000)
MsgBox "STRG+l"
Perfekt - tausend Dank!!!
Viele Grüße
Holly
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 16:31:36
Holly
Hallo Nepumuk,
folgendes Problem habe ich nun festgestellt:
Ich lese über den MouseDown - Event den Listbox-Eintrag aus indem ich die Listbox (halte Strg.+"l" gedrückt) anklicke. Jetzt ist es leider so, dass der MouseDown-Event startet BEVOR die Zeile in der Listebox markiert wird (obwohl ich die Listbox ja anklicke). D.h. das der Listindex (beim 1. Klick auf die Listbox-Zeile) auf -1 steht. Beim 2. Klick übernimmt er den Listindex von der Zeile auf der die Markierung ZUVOR war... D.h. ich erhalte nicht den aktuellen Listboxeintrag (Listboxzeile). Wie bekomme ich das hin das die Zeile in der Listbox zuerst festgelesgt wird (ListboxIndex) und erst dann mit diesen Informationen die Sub ausgeführt wird?

Private Sub ListBox3_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Select Case True
Case CBool(GetAsyncKeyState(vbKeyControl) And &H8000) And CBool(GetAsyncKeyState(vbKeyL) And &H8000)
'MsgBox "STRG+l"
MsgBox Me.ListBox3.Column(9, Me.ListBox3.ListIndex)
End Select
End Sub

Anzeige
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 16:38:23
Nepumuk
Hallo Holly,
benutze das MouseUp-Event.
Gruß
Nepumuk
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 16:41:13
Holly
Hallo Nepumuk,
perfekt!!!!
Vielen Dank!!!
Gruss
Holly
AW: Strg - Taste und Buchstabe auslesen
27.04.2021 16:09:55
Daniel
Hi
warum verwendest du zum Auslesen der Maustaste und der dazu gehaltenen Shift/Strg/Alt-Taste nicht einfach die Variablen Button und Shift des MouseDown_Events?
die zeigen dir das doch an.
Auch die gedrückte Text-Taste kannst du abfragen, dazu gibts das Event KeyDown.
ggf lässt sich das auch darüber lösen.
Gruß Daniel

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige