Thread: OnKey problem
View Single Post
  #8   Report Post  
Posted to microsoft.public.excel.programming
Rick Rothstein Rick Rothstein is offline
external usenet poster
 
Posts: 5,934
Default OnKey problem

Use the TextBox's own KeyDown, KeyUp or KeyPress events depending on what
kind of keystroke you want to trap.

--
Rick (MVP - Excel)


"Bert" wrote in message
...
Okay...when I closed the workbook (and Excel) and restarted it, it
worked--both your code and mine. (Actually, I'm using Alt-n - "%n".) So
thanks for sticking with this!
Now I have another problem: When the insertion point is in a textbox in a
Userform, the OnKey method doesn't seem to work. It would appear that
Userforms behave differently. Is this the case? If so, is there a way to
trap specific keystokes in a textbox?
Thanks again.
Bert.

"Gary''s Student" wrote in
message ...
I put the following in Module1:

Sub OffKey()
Application.OnKey "^{+}", "Placenm"
End Sub

Sub Placenm()
MsgBox ("Hello World")
End Sub

I went back to the worksheet and manually ran OffKey. I then touched
CNTRL-SHFT-+ and got the macro to fire.

Try the same on a fresh, new workbook.
--
Gary''s Student - gsnu200827


"Bert" wrote:

Placenm is in the "default" module "Module1".
Bert

"Gary''s Student" wrote in
message
...
Where did you put Placenm?
--
Gary''s Student - gsnu200827


"Bert" wrote:

Thanks; however, as noted, I've tried several different key
combinations--
"%n", "^{+}", and others.
I've tried all control and alt keys in all combinations (with and
without
the shift keys)
It still isn't working.
Any other suggestions?
Bert

"Gary''s Student" wrote in
message
...
Remember:

1. CNTRL-+ using the numeric keypad will not work
2. to get to the "normal" + key ( the one above the = sign) you
must
touch
CNTRL-SHFT-=

This key combination will drive your macro!
--
Gary''s Student - gsnu2007k


"Bert" wrote:

I'm using Excel 2003 in Vista. I'm using the following code, but
it
doesn't
work.
Application.OnKey "^{+}", "Placenm"
I've placed it in ThisWorkBook in a WorkBook_Open routine.
I've also placed it in a subroutine that gets called periodically
in
the
course of a work session.
I've also tried different key combinations. Nothing seems to
work.
(The
subroutine, "Placenm" is not getting called.)
Any suggestions would be appreciated.
Thanks.
Bert.