キーボードの特定のキーを押してコマンドボタンに割り当てたVBAコードを実行させる方法

スポンサーリンク

フォームにコマンドボタンを配置して、VBAのコードを割り当てることで例えば画面を閉じたり、SQLを実行して画面に入力した情報をテーブルに登録するなど、さまざまな処理を動かすことができます。

ですが、ボタンを押すためにマウスをつかんで、ボタンをクリックしに行かなければなりません。

キーボードから手を離してマウスをつかみ、ポインターをボタンに合わせてクリックするのは意外と時間を食うものです。

そこで、キーボードの特定のキーを押すことで、ボタンに割り当てたVBAコードを実行させる方法をご紹介します。

Windowsを操作する、ショートカットキーみたいなものですね。

スポンサーリンク

フォームにコマンドボタンを設置する

使用される際は、そちらの環境で十分テストのうえ使用してください。

フォームにコマンドボタンを設置

フォームにボタンを配置します。ボタン名は、「コマンド0」です。

コマンドボタンのクリック時にコードを割り当て
コマンドボタンのクリック時にコードを割り当て

このボタンをクリックすると、メッセージボックスを表示させるVBAコードを割り当てます。

Private Sub コマンド0_Click()

MsgBox "ボタンがクリックされました。", vbInformation
End Sub
コマンドボタンをクリックしたところ

コマンド0をクリックすると、「ボタンがクリックされました。」とメッセージボックスが表示されます。

スポンサーリンク

F8キーに処理を割り当てる

キーボードの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コードを割り当てたときは、コマンドボタンに割り当てたキーを記しておくとわかりやすいでしょう。

コメントをどうぞ!

タイトルとURLをコピーしました