フォームにコマンドボタンを配置して、VBAのコードを割り当てることで例えば画面を閉じたり、SQLを実行して画面に入力した情報をテーブルに登録するなど、さまざまな処理を動かすことができます。
ですが、ボタンを押すためにマウスをつかんで、ボタンをクリックしに行かなければなりません。
キーボードから手を離してマウスをつかみ、ポインターをボタンに合わせてクリックするのは意外と時間を食うものです。
そこで、キーボードの特定のキーを押すことで、ボタンに割り当てたVBAコードを実行させる方法をご紹介します。
Windowsを操作する、ショートカットキーみたいなものですね。
フォームにコマンドボタンを設置する
フォームにボタンを配置します。ボタン名は、「コマンド0」です。
このボタンをクリックすると、メッセージボックスを表示させるVBAコードを割り当てます。
Private Sub コマンド0_Click() MsgBox "ボタンがクリックされました。", vbInformation End Sub
コマンド0をクリックすると、「ボタンがクリックされました。」とメッセージボックスが表示されます。
F8キーに処理を割り当てる
では、キーボードの特定のキーに、コマンド0をクリックしたときに実行される処理を割り当てたいと思います。
今回、キーボードの上に並んでいるファンクションキーのうち、F8キーに割り当てます。
フォームの読み込み時のイベントに、VBAコードを設定します。
Private Sub Form_Load() Me.KeyPreview = True End Sub
次に、キークリック時のイベントに、VBAコードを設定します。
割り当てるキーが増えたときに備え、Select Case構文を使用しています。
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF8 KeyCode = 0 コマンド0_Click End Select End Sub
VBAのコードが入力できたら保存して、フォームをフォームビューに切り替えてください。
F8キーを押してみてください。メッセージボックスが出現したら成功です。
コマンドボタンに割り当てたキーを記しておく
キーボードのキーにVBAコードを割り当てたときは、コマンドボタンに割り当てたキーを記しておくとわかりやすいでしょう。
コメントをどうぞ!