AW: erkennen, wie die aktive Zelle gewechselt wird
21.03.2005 12:35:41
Matthias
Hallo John,
das geht m.W. nur, wenn du die Cursortasten mit Application.OnKey "nachbaust" und eine globale Variable benutzt:
In "DieseArbeitsmappe":
Option Explicit
Private Sub Workbook_Activate()
TastenEin
End Sub
Private Sub Workbook_Deactivate()
TastenAus
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Not Crsr Then MsgBox "Klick"
End Sub
In ein Modul:
Option Explicit
Public Crsr As Boolean
Sub TastenEin()
Application.OnKey "{LEFT}", "NachLinks"
Application.OnKey "{RIGHT}", "NachRechts"
Application.OnKey "{UP}", "NachOben"
Application.OnKey "{DOWN}", "NachUnten"
End Sub
Sub TastenAus()
Application.OnKey "{LEFT}"
Application.OnKey "{RIGHT}"
Application.OnKey "{UP}"
Application.OnKey "{DOWN}"
End Sub
Sub NachRechts()
On Error Resume Next
Crsr = True
ActiveCell.Offset(0, 1).Activate
Crsr = False
End Sub
Sub NachLinks()
On Error Resume Next
Crsr = True
ActiveCell.Offset(0, -1).Activate
Crsr = False
End Sub
Sub NachOben()
On Error Resume Next
Crsr = True
ActiveCell.Offset(-1, 0).Activate
Crsr = False
End Sub
Sub NachUnten()
On Error Resume Next
Crsr = True
ActiveCell.Offset(1, 0).Activate
Crsr = False
End Sub
Fehlen noch die Tasten Bild hoch/runter, Shift+CursorTasten, Pos1, End usw.
Mitunter sehr aufwendig, aber anders geht es m.W. nicht.
Gruß Matthias