1-36 指定のキー操作でのみメッセージを表示するユーザーフォーム 2021.11.16
次の書籍の第1章~5章を公開しています。
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」
KeyUpイベントは、フォーム上で押されたキーが離された時に発生し、離されたキーのコードを取得できます。
それを利用すると、特定のキーが操作でのみ処理を行うといったことが可能になります。
サンプルコード
[Shift][Ctrl][Alt]キーを押した状態で、[Delete]キーを押して離すとメッセージが表示される
Private Sub UserForm_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) If Shift = 7 Then If KeyCode = vbKeyDelete Then MsgBox "秘密のメッセージ" End If End If End Sub
◇KeyCode
引数 KeyCodeはフォーム上で押されたキーのコードを返します。
返されるコードは整数値ですが、対応した組み込み定数が準備されています。
一般的にはそれを利用することが多いです。型としてはvbKey○○になります。
[ MSDN KeyCode組み込み定数一覧 ]
◇Shift
引数 Shiftは、キーが押されている時の[Shift][Ctrl][Alt]キーの状態を返します。
[Shift][Ctrl][Alt]キーにはそれぞれ整数が設定されており、それら2つ以上を押した場合は、それらの整数を加算した数値を返します。
引数 Shift |
数値 |
3つのキーのいずれも押されていない |
0 |
[Shift] |
1 |
[Ctrl] |
2 |
[Shift]+[Ctrl] |
3 |
[Alt] |
4 |
[Shift]+[Alt] |
5 |
[Ctrl]+[Alt] |
6 |
[Shift]+[Ctrl]+[Alt] |
7 |
書籍紹介140以上のサンプルファイル付き!
知りたいがすぐわかる! やりたいがすぐできる!
「Excel VBA 逆引きで学ぶ ユーザーフォーム&コントロール」(Kindle版)
ユーザーフォームを扱えると、VBAでできることが大きく広がります!
本書では、知りたいこと、やりたいことから、逆引きで学びを深められます。
■ 購入:amazon