detecting keypress(es) in a cell
I don't think you can code the + and - keys, as they put any cell directly
into edit mode. So how about the left and right arrow keys
in the code below, the tow keys set a value to increase or decrease a cell
or cells by . this handles multiple cells
Option Explicit
Sub setkeys()
Application.OnKey "{right}", "IncreaseCellValue"
Application.OnKey "{left}", "DecreaseCellValue"
End Sub
Sub unsetkeys()
Application.OnKey "{right}"
Application.OnKey "{left}"
End Sub
Sub IncreaseCellValue()
ChangeCellValue 0.25
End Sub
Sub DecreaseCellValue()
ChangeCellValue -0.25
End Sub
Sub ChangeCellValue(amount As Double)
Dim target As Range
Dim cell As Range
Set target = Intersect(Selection, Range("range1"))
If Not target Is Nothing Then
For Each cell In target
If IsNumeric(cell.Value) Then
cell.Value = cell.Value + amount
End If
Next
End If
End Sub
"SmartWombat" wrote in message
...
I know this is an old, old thread.
What I want is that for cells in the named range Range("WeekDays") that on
typinging "+" the value is increased by 0.25 and on pressing "-" the value
decreased by 0.25.
What's the best way of achieving that in Excel 2003 ?
"Tom Ogilvy" wrote:
Good thought.
Sub SetKey()
Application.OnKey "~", "MyEnter"
Application.OnKey "+~", "MyShiftEnter"
End Sub
Sub UnSetKey()
Application.OnKey "~"
Application.OnKey "+~"
End Sub
Sub MyEnter()
MsgBox "In MyEnter"
End Sub
Sub MyShiftEnter()
MsgBox "In MyShiftEnter"
End Sub
--
Regards,
Tom Ogilvy
"Vic Eldridge" wrote in message
...
I would like to detect the Enter key code and SHIFT+Enter keys
combination.
Application.Onkey can be used to respond to keyboard events.
Regards,
Vic Eldridge
|