教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】コマンドボタンプロパティウィンドウ内にある[TakeFocusOnClick]の使い方を知りたいです。教えて!

       f:id:m_kbou:20200806075722p:plain

フォームにコマンドボタンを追加した場合、VBE画面左下のコマンドボタンプロパティウィンドウ内に表示される[TakeFocusOnClick]の使い方について説明します。

 

【目次】

 

コマンドボタンプロパティ内にあるTakeFocusOnClickとは

以下のコマンドボタンプロパティウィンドウ内の赤枠箇所が[TakeFocusOnClick]となります。TakeFocusOnClickはマウスでコマンドボタンをクリックした時にコマンドボタンにフォーカスを移すか否かを設定する事ができます。

f:id:m_kbou:20200806075739p:plain

TakeFocusOnClickに定義する設定値は以下一覧の通りとなります。

f:id:m_kbou:20200806075758p:plain

 

TakeFocusOnClickを設定する方法

設定方法について説明していきます。

(1)コマンドボタンプロパティウィンドウ内のTakeFocusOnClickをクリックすると▼ボタンが表示されます。(※今回の例では『CommandButton2』コマンドボタンをマウスでクリックした時にフォーカスを移すか否かの説明になります)

f:id:m_kbou:20200806075810p:plain

(2)▼ボタンをクリックするとプルダウンリストが表示されます。(プルダウンリストには上記の設定値一覧が表示されます)

f:id:m_kbou:20200806075821p:plain

コマンドボタンのフォーカスを取得する(True)

(3)今回はコマンドボタンのフォーカスを取得するため「True」を選択します。また、コマンドボタンのフォーカスが取得される事を確認するため、一度フォーム上でクリックをした後、上部にある<実行>ボタンをクリックします。

f:id:m_kbou:20200806075833p:plain

(4)フォームが表示され、『CommandButton1』コマンドボタンにフォーカスがある事が確認できます。

f:id:m_kbou:20200806075844p:plain

(5)次に『CommandButton2』コマンドボタンをマウスでクリックすると、『CommandButton2』コマンドボタンにフォーカスが移る事が確認できます。

f:id:m_kbou:20200806075907p:plain

コマンドボタンのフォーカスを取得しない(False)

(6)今回はコマンドボタンのフォーカスを取得しないため「False」を選択します。また、コマンドボタンのフォーカスが取得されない事を確認するため、一度フォーム上でクリックをした後、上部にある<実行>ボタンをクリックします。

f:id:m_kbou:20200806075921p:plain

(7)フォームが表示され、『CommandButton1』コマンドボタンにフォーカスがある事が確認できます。

f:id:m_kbou:20200806075844p:plain

(8)次に『CommandButton2』コマンドボタンをマウスでクリックすると、『CommandButton2』コマンドボタンにフォーカスが移らず、『CommandButton1』コマンドボタンにフォーカスが残ったままである事が確認できます。

f:id:m_kbou:20200806075945p:plain

TakeFocusOnClickを設定する方法についての説明は以上です。

 

おわりに

今回はTakeFocusOnClickの設定方法について説明しました。状況に合わせて有効に活用してみて下さい。