PDA

Vollständige Version anzeigen : Ermitteln, welche Taste gedrückt wurde


JRocktae
19.09.2016, 17:36
Hallo zusammen,

ich möchte bei dem Ereignis "Worksheet_SelectionChange" heraus bekommen, welche Taste zuvor gedrückt wurde. Dieses Ereignis tritt immer dann ein, wenn man sich in einem Arbeitsblatt hin und her bewegt. Dabei wird die active Zelle immer verändert. Ich will einfach nur wissen, welche Taste gedrückt wurde, damit ich ermitteln kann, welche Zelle zuvor aktiv war.
Oder hat jemand noch einen anderen Ansatz um dieses Problem zu lösen?

Vielen Dank für Eure Hinweise.

Gruß Jörg

EarlFred
19.09.2016, 18:12
Hallo Jörg,

Ich will einfach nur wissen, welche Taste gedrückt wurde, damit ich ermitteln kann, welche Zelle zuvor aktiv war.
Neben der Tatsache, dass Du im Arbeitsblatt die Tastatur nicht mit Bordmitteln überwachen kannst, würde Dir das nur wenig helfen bei
- (Strg)+Pos1 / +Ende
- Strg+Pfeiltaste
- Pfeiltaste nach oben in erster Zeile, nach links in erster Spalte usw.
- Maustaste
usw....

Option Explicit

Private rngSelAlt As Range

Private Sub Worksheet_Activate()
If TypeOf Selection Is Range Then Set rngSelAlt = Selection
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If rngSelAlt Is Nothing Then
MsgBox "Es war noch nichts gewählt!"
Else
MsgBox "Davor war gewählt: " & rngSelAlt.Address
End If
Set rngSelAlt = Target
End Sub

Du musst rngSelAlt zu Beginn füllen, damit die erste Auswahl gespeichert wird. Die Ereignisse Worksheet_Activate und Workbook_Open (Achtung: Anderes Codemodul: "DieseArbeitsmappe") würde ich nehmen.

Option Explicit

Private Sub Workbook_Open()
If ActiveSheet.CodeName = "Tabelle1" Then Set Tabelle1.rngSelAlt = Selection
End Sub

Grüße
EarlFred

JRocktae
20.09.2016, 09:27
Hallo EarlFred,

Vielen Dank für Deine Antwort.
Ich habe gewusst, dass es nicht einfach wird.
Ich werde Deinen Vorschlag einmal ausprobieren.

Gruß Jörg