もくじ

taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
どうも、takaです!(^^)!今回はどのキーが押されたか判定するときなどに使う【KeyCode】についてご紹介していきます( ^ω^ )
VBAのKeyCodeとは?
KeyCode(キーコード)はキーボードのキーに割り振られているコードでVBAではこのコードでどのコードが押されたのか取得することができます( ^ω^ )
よく使われるのが TextboxコントロールなどにあるKeyDownイベントなどです。
「KeyCode」の引数の値を調べることによってキーボードから押されたキーのキーコードを取得してキー操作によるプログラムの制御が可能になります(^^♪
KeyCodeの使用例
では実際に使用例をご紹介しますが、実は前回の【Listbox(リストボックス)を検索する方法】のなかでもう使用しているんです(;^ω^)
下記のコードは前回のサンプルです、サンプルの中の三行目に書いてある【If KeyCode <> 13 Then Exit Sub 】がコードになります。
KeyCode 13はEnter(エンター)を表すコードです。なので【If KeyCode <> 13 Then Exit Sub 】は【Enterキー以外が押されたら処理をしない】というような条件付けをしていることになります。
【If KeyCode <> 32 Then Exit Sub】のようにKeyCodeの数値を変えれば別のキーにしか反応しなくなります(32はスペースキーです)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) '↑エンターイベントだとクリックした時にも反応してしまうのでKeyDownイベントにしています。 If KeyCode <> 13 Then Exit Sub '←エンターキー以外では動作しないように設定 Dim li As Long For li = 0 To ListBox1.ListCount - 1 'ListCountで登録されているデータ数を取得 If ListBox1.List(li) = TextBox1.Text Then '配列のデータ上にTextBox1に入力されたデータと同じものがあるか判定 ListBox1.ListIndex = li 'ListIndexで選択位置を変数liに指定 Exit Sub End If Next li '↓見つからなかった場合 MsgBox "見つかりませんでした" End Sub
KeyCode(キーコード)一覧
KeyCodeはたくさんあるのでKeyCode一覧をMicrosoftより引用させていただきました。※翻訳はGooglechromeの翻訳ツールを使用しています。
定数 値 説明 vbKeyLButton 1 左マウスボタン vbKeyRButton 2 マウスの右ボタン vbKeyCancel 3 CANCELキー vbKeyMButton 4 マウスの中ボタン vbKeyBack 8 バックスペースキー vbKeyTab 9 Tabキー vbKeyClear 12 クリアキー vbKeyReturn 13 Enterキー vbKeyShift 16 シフトキー vbKeyControl 17 CTRLキー vbKeyMenu 18 MENUキー vbKeyPause 19 PAUSEキー vbKeyCapital 20 CAPS LOCKキー vbKeyEscape 27 ESCキー vbKeySpace 32 スペースバーキー vbKeyPageUp 33 ページアップキー vbKeyPageDown 34 ページダウンキー vbKeyEnd 35 ENDキー vbKeyHome 36 HOMEキー vbKeyLeft 37 左矢印キー vbKeyUp 38 上向き矢印キー vbKeyRight 39 右矢印キー vbKeyDown 40 下矢印キー vbKeySelect 41 SELECTキー vbKeyPrint 42 PRINT SCREENキー vbKeyExecute 43 EXECUTEキー vbKeySnapshot 44 SNAPSHOTキー vbKeyInsert 45 INSキー vbKeyDelete 46 DELキー vbKeyHelp 47 HELPキー vbKeyNumlock 144 NUM LOCKキー
KeyZを介したKeyAはASCII同等物と同じです: ‘A’から ‘Z’
定数 値 説明 vbKeyA 65 Aキー vbKeyB 66 Bキー vbKeyC 67 Cキー vbKeyD 68 Dキー vbKeyE 69 Eキー vbKeyF 70 Fキー vbKeyG 71 Gキー vbKeyH 72 Hキー vbKeyI 73 私はキー vbKeyJ 74 Jキー vbKeyK 75 Kキー vbKeyL 76 Lキー vbKeyM 77 Mキー vbKeyN 78 Nキー vbKeyO 79 Oキー vbKeyP 80 Pキー vbKeyQ 81 Qキー vbKeyR 82 Rキー vbKeyS 83 Sキー vbKeyT 84 Tキー vbKeyU 85 Uキー vbKeyV 86 Vキー vbKeyW 87 Wキー vbKeyX 88 Xキー vbKeyY 89 Yキー vbKeyZ 90 Zキー
Key0からKey9は、ASCII同等物と同じです: ‘0’から ‘9
定数 値 説明 vbKey0 48 0キー vbKey1 49 1キー vbKey2 50 2キー vbKey3 51 3キー vbKey4 52 4キー vbKey5 53 5キー vbKey6 54 6キー vbKey7 55 7キー vbKey8 56 8キー vbKey9 57 9キー
テンキーパッドのキー
定数 値 説明 vbKeyNumpad0 96 0キー vbKeyNumpad1 97 1キー vbKeyNumpad2 98 2キー vbKeyNumpad3 99 3キー vbKeyNumpad4 100 4キー vbKeyNumpad5 101 5キー vbKeyNumpad6 102 6キー vbKeyNumpad7 103 7キー vbKeyNumpad8 104 8キー vbKeyNumpad9 105 9キー vbKeyMultiply 106 MULTIPLICATION SIGN(*)キー vbKeyAdd 107 プラス記号(+)キー vbKeySeparator 108 ENTER(キーパッド)キー vbKeySubtract 109 マイナス記号( – )キー vbKeyDecimal 110 DECIMAL POINT(。)キー vbKeyDivide 111 DIVISION SIGN(/)キー
ファンクションキー
定数 値 説明 vbKeyF1 112 F1キー vbKeyF2 113 F2キー vbKeyF3 114 F3キー vbKeyF4 115 F4キー vbKeyF5 116 F5キー vbKeyF6 117 F6キー vbKeyF7 118 F7キー vbKeyF8 119 F8キー vbKeyF9 120 F9キー vbKeyF10 121 F10キー vbKeyF11 122 F11キー vbKeyF12 123 F12キー vbKeyF13 124 F13キー vbKeyF14 125 F14キー vbKeyF15 126 F15キー vbKeyF16 127 F16キー
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す