View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Dick Kusleika[_3_] Dick Kusleika[_3_] is offline
external usenet poster
 
Posts: 599
Default Determine Shift Key Press

Todd

You're right. If you release the Shift key after you click the message box,
it works OK. But if you release it while the message box is in focus, the
KeyUp doesn't fire.

Add

ShiftKeyPress = False

to the end of your click event. Then you will have the problem of the user
holding the shift key for two consecutive clicks. I think if you want this
to be rock solid, you'll need to use the API to hook the keyboard.

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com

"Todd Huttenstine" wrote in message
...
It works but after I press the shift key and then click,
it always tells me shift key was pressed on all other
clicks even if Shift was not pressed.

-----Original Message-----
Todd

Where? On a sheet? Try this

Dim ShiftKeyPress As Boolean

Private Sub CommandButton1_Click()
If ShiftKeyPress Then
MsgBox "Shift key is pressed"
Else
MsgBox "Shift key is not pressed"
End If

End Sub

Private Sub CommandButton1_KeyDown(ByVal KeyCode As

MSForms.ReturnInteger, _
ByVal Shift As Integer)

ShiftKeyPress = True
End Sub

Private Sub CommandButton1_KeyUp(ByVal KeyCode As

MSForms.ReturnInteger, _
ByVal Shift As Integer)

ShiftKeyPress = False
End Sub

--
Dick Kusleika
MVP - Excel
Excel Blog - Daily Dose of Excel
www.dicks-blog.com

"Todd Huttenstine"

wrote in message
...
Hey guys

I want to be able to click CommandButton1 and if it
detects that I was holding the "Shift" key down during

the
click, it give me a msgbox saying "Shift Key Pressed".

How do I do this?

Thank you
Todd Huttenstine



.