Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

XL2000: How to Determine the Key Pressed Along with Mouse Button


View products that this article applies to.

Summary

Visual Basic for Applications in Microsoft Excel 2000 incorporates many more events for activating macros. Some of the new events include MouseDown, MouseUp, KeyDown, and KeyUp. One of the arguments returned by these particular events, Shift, denotes which key (SHIFT, CTRL, or ALT) on your keyboard is pressed when one of the aforementioned events is triggered.

This article provides a sample macro that shows how to use the Shift argument returned by the MouseDown event of a command button.

↑ Back to the top


More information

Microsoft provides programming examples for illustration only, without warranty either expressed or implied, including, but not limited to, the implied warranties of merchantability and/or fitness for a particular purpose. This article assumes that you are familiar with the programming language being demonstrated and the tools used to create and debug procedures. Microsoft support professionals can help explain the functionality of a particular procedure, but they will not modify these examples to provide added functionality or construct procedures to meet your specific needs.
If you have limited programming experience, you may want to contact a Microsoft Certified Partner or Microsoft Advisory Services. For more information, visit these Microsoft Web sites:

Microsoft Certified Partners - https://partner.microsoft.com/global/30000104

Microsoft Advisory Services - http://support.microsoft.com/gp/advisoryservice

For more information about the support options that are available and about how to contact Microsoft, visit the following Microsoft Web site:http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS

Sample Macro Code

  1. Save and close any open workbooks, and then open a new workbook.
  2. Start the Visual Basic Editor (press ALT+F11).
  3. On the Insert menu, click UserForm.
  4. Add a command button to the UserForm.
  5. Double-click the command button to display the Code window behind the UserForm.
  6. Enter the following code for the MouseDown event for the command button:
    Private Sub CommandButton1_MouseDown(ByVal Button As Integer, _
       ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
    
       Select Case Shift
    
          Case 0
             MsgBox "No key pressed"
          Case 1
             MsgBox "SHIFT key pressed"
          Case 2
             MsgBox "CTRL key pressed"
          Case 3
             MsgBox "CTRL and SHIFT keys pressed"
          Case 4
             MsgBox "ALT key pressed"
          Case 5
             MsgBox "ALT and SHIFT keys pressed"
          Case 6
             MsgBox "CTRL and ALT keys pressed"
          Case 7
             MsgBox "CTRL, ALT, and SHIFT keys pressed"
    
       End Select
    
    End Sub
    					
  7. Run the UserForm.
  8. Click the command button with any combination (or none at all) of the CTRL, ALT, and SHIFT keys pressed as you click with your mouse.

    A message box appears listing the buttons you pressed.
  9. Close the UserForm.
The following table outlines the values of the Shift argument:
   Value of Shift
   argument         Keys Pressed
   -------------------------------------
   0                no keys pressed
   1                SHIFT
   2                CTRL
   3                SHIFT and CTRL
   4                ALT
   5                ALT and SHIFT
   6                ALT and CTRL
   7                ALT, SHIFT, and CTRL
				

↑ Back to the top


References

For more information about the MouseDown or MouseUp events, in the Visual Basic Editor, click Microsoft Visual Basic Help on the Help menu, type mousedown in the Office Assistant or the Answer Wizard, and then click Search to view the topic.

↑ Back to the top


Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

↑ Back to the top


Article Info
Article ID : 213736
Revision : 1
Created on : 1/1/0001
Published on : 1/1/0001
Exists online : False
Views : 295