教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

ExcelVBAでフォーカスがなくてもEnterキーでクリックできるフォーム内コマンドボタンを作成する方法

構文

構文は以下の通りです。

コマンドボタン名.Default = True

解説

コマンドボタン名は、フォーム内にあるコマンドボタンの名前を指します。Defaultは、コマンドボタンにTrueを設定すると、そのボタンがデフォルトのボタンとして機能し、フォーム上で他の要素にフォーカスがあってもEnterキーを押すことでクリック動作が実行されます。

プログラミング例

具体的なプログラミング例を紹介します。

Private Sub UserForm_Initialize()
    ' デフォルトボタンを設定する
    クリックボタン.Default = True
End Sub
Private Sub クリックボタン_Click()
    ' ボタンがクリックされたときの処理
    MsgBox "ボタンがクリックされました"
End Sub

上記のプログラムは、UserForm_Initializeサブルーチン内で、コマンドボタンのDefaultにTrueを設定しています。これにより、Enter キーで「クリックボタン」が押されたときに、 クリックボタン_Click が実行されます。実行するとフォームが表示され、Enterキーで「ボタンがクリックされました」というメッセージが表示されます。

まとめ

フォーム内のコマンドボタンに対してDefaultをTrueに設定することで、フォーカスがなくてもEnterキーでそのボタンをクリックすることができます。この機能は、フォームの操作を効率化するために便利です。