View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Peter T Peter T is offline
external usenet poster
 
Posts: 5,600
Default keydown event

If you only need your key event in a one Workbook AND it's OK to delete or
to change the value of the cursor cell, maybe something like this:

Put the addition of cells in columns 2 & 3, of the row of the keypress, into
the cell that "p" was entered:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim nRow As Long, d As Double
On Error GoTo errH
If Target.Count = 1 And Target(1).Column 3 Then
If LCase(Target.Value) = ("p") Then
Application.EnableEvents = False
nRow = Target.Row
d = Cells(nRow, 2).Value + Cells(nRow, 3)
If d Then
Target.Value = d
Else: Target.Value = ""
End If
End If
End If

errH:
Application.EnableEvents = True
End Sub

This Worksheet_Change event goes in a Sheet module (right-click sheet tab
View code).
You could adapt to call your own macro:

Target.Value = "" ' delete the key press with Events disabled
MyMacro

If you want trap the key on all worksheets, change Worksheet_Change to
Workbook_SheetChange and put the code in the ThisWorkbook module.

Regards,
Peter T

"bfa" wrote in message
...
Hello

Im trying to catch a keydown event on a worksheet. If i press on my
worksheet any key it should response like an event. How can I make it?
I found a lot of examples with controls, but no one on a worksheet.

thnx