How to capture "?" key in textbox

Posted on 2003-03-01
Medium Priority
Last Modified: 2012-08-13
How can i determine if the ? key has been pressed in a textbox? I tried to check if keycode=vbKeyDivide in keydown event but that doesnt seem to wrk.
Question by:sambha03
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 4

Expert Comment

ID: 8048933

Private Sub Text1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 63 Then
        MsgBox "? pressed"
    End If
End Sub

Author Comment

ID: 8048972
Can i capture in keydown? what the the vbKey constant?

Author Comment

ID: 8048977
Can i capture in keydown? what the the vbKey constant?
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Accepted Solution

DeAn earned 120 total points
ID: 8048990
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 191 And Shift = 1 Then
        MsgBox "? pressed"
    End If
End Sub

Author Comment

ID: 8049047
Thanks for the prompt help. It wrks great!!If you know could you tell me if theres a vbKey constant for it since checking for 191 looks kind of messy.

Expert Comment

ID: 8049062
Constant Value Description
vbKeyLButton 0x1 Left mouse button
vbKeyRButton 0x2 Right mouse button
vbKeyCancel 0x3 CANCEL key
vbKeyMButton 0x4 Middle mouse button
vbKeyBack 0x8 BACKSPACE key
vbKeyTab 0x9 TAB key
vbKeyClear 0xC CLEAR key
vbKeyReturn 0xD ENTER key
vbKeyShift 0x10 SHIFT key
vbKeyControl 0x11 CTRL key
vbKeyMenu 0x12 MENU key
vbKeyPause 0x13 PAUSE key
vbKeyCapital 0x14 CAPS LOCK key
vbKeyEscape 0x1B ESC key
vbKeySpace 0x20 SPACEBAR key
vbKeyPageUp 0x21 PAGE UP key
vbKeyPageDown 0x22 PAGE DOWN key
vbKeyEnd 0x23 END key
vbKeyHome 0x24 HOME key
vbKeyLeft 0x25 LEFT ARROW key
vbKeyUp 0x26 UP ARROW key
vbKeyRight 0x27 RIGHT ARROW key
vbKeyDown 0x28 DOWN ARROW key
vbKeySelect 0x29 SELECT key
vbKeyPrint 0x2A PRINT SCREEN key
vbKeyExecute 0x2B EXECUTE key
vbKeySnapshot 0x2C SNAPSHOT key
vbKeyInsert 0x2D INSERT key
vbKeyDelete 0x2E DELETE key
vbKeyHelp 0x2F HELP key
vbKeyNumlock 0x90 NUM LOCK key

The A key through the Z key are the same as the ASCII equivalents A – Z:

Constant Value Description
vbKeyA 65 A key
vbKeyB 66 B key
vbKeyC 67 C key
vbKeyD 68 D key
vbKeyE 69 E key
vbKeyF 70 F key
vbKeyG 71 G key
vbKeyH 72 H key
vbKeyI 73 I key
vbKeyJ 74 J key
vbKeyK 75 K key
vbKeyL 76 L key
vbKeyM 77 M key
vbKeyN 78 N key
vbKeyO 79 O key
vbKeyP 80 P key
vbKeyQ 81 Q key
vbKeyR 82 R key
vbKeyS 83 S key
vbKeyT 84 T key
vbKeyU 85 U key
vbKeyV 86 V key
vbKeyW 87 W key
vbKeyX 88 X key
vbKeyY 89 Y key
vbKeyZ 90 Z key

The 0 key through 9 key are the same as their ASCII equivalents 0 – 9:

Constant Value Description
vbKey0 48 0 key
vbKey1 49 1 key
vbKey2 50 2 key
vbKey3 51 3 key
vbKey4 52 4 key
vbKey5 53 5 key
vbKey6 54 6 key
vbKey7 55 7 key
vbKey8 56 8 key
vbKey9 57 9 key

The following constants represent keys on the numeric keypad:

Constant Value Description
vbKeyNumpad0 0x60 0 key
vbKeyNumpad1 0x61 1 key
vbKeyNumpad2 0x62 2 key
vbKeyNumpad3 0x63 3 key
vbKeyNumpad4 0x64 4 key
vbKeyNumpad5 0x65 5 key
vbKeyNumpad6 0x66 6 key
vbKeyNumpad7 0x67 7 key
vbKeyNumpad8 0x68 8 key
vbKeyNumpad9 0x69 9 key
vbKeyMultiply 0x6A MULTIPLICATION SIGN (*) key
vbKeyAdd 0x6B PLUS SIGN (+) key
vbKeySeparator 0x6C ENTER key
vbKeySubtract 0x6D MINUS SIGN (–) key
vbKeyDecimal 0x6E DECIMAL POINT (.) key
vbKeyDivide 0x6F DIVISION SIGN (/) key

The following constants represent function keys:

Constant Value Description
vbKeyF1 0x70 F1 key
vbKeyF2 0x71 F2 key
vbKeyF3 0x72 F3 key
vbKeyF4 0x73 F4 key
vbKeyF5 0x74 F5 key
vbKeyF6 0x75 F6 key
vbKeyF7 0x76 F7 key
vbKeyF8 0x77 F8 key
vbKeyF9 0x78 F9 key
vbKeyF10 0x79 F10 key
vbKeyF11 0x7A F11 key
vbKeyF12 0x7B F12 key
vbKeyF13 0x7C F13 key
vbKeyF14 0x7D F14 key
vbKeyF15 0x7E F15 key
vbKeyF16 0x7F F16 key

Author Comment

ID: 8049143

Expert Comment

ID: 8049160
The previous comment lists all the constants in VB help, but there isn't a vbKeyQuestion constant.

I suppose you could place a comment to clear up the code.

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
   If KeyCode = 191 And Shift = 1 Then ' ? key
       MsgBox "? pressed"
   End If
End Sub

Expert Comment

ID: 8053829
could make your own constant in the general declarations section. the constant statement would look like this:
Const keyQuestion as byte = 191


Featured Post


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
This article describes how to use a set of graphical playing cards to create a Draw Poker game in Excel or VB6.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…
Suggested Courses
Course of the Month14 days, 16 hours left to enroll

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question