目次
はじめに
今回は、ユーザーフォーム上に設置したオプションボタンを、初期状態でOFFにする方法について学びました。
使用環境は以下のとおりです。
- OS: Windows 10 Pro
- バージョン: 20H2
背景
ユーザーフォームに「あり」「なし」のオプションボタンを2つ設置したところ、
フォームを表示した時点で片方のボタンがON(選択済み)になっている状態でした。
できれば、どちらのボタンも未選択状態(OFF)でフォームを表示させたいと考え、
その設定方法を調べました。
結論:プロパティの「Value」を「False」に設定する
オプションボタンの初期状態をOFFにするには、「Value」プロパティを False に設定します。
手順
- VBE(Visual Basic Editor)を開く
Alt + F11 でVBAの編集画面を開きます。 - 対象のユーザーフォームを選択する
- オプションボタン(OptionButton)をクリックして選択
- [プロパティウィンドウ] で「Value」を探す
- 「(全体)」タブまたは「アルファベット順」タブで探すと見つけやすいです。
Value
プロパティの値をFalse
に変更します。
補足
- オプションボタンのデフォルト値は、1つが True(選択済み)、もう1つが False(未選択) になっていることが多く、
どちらもTrue
になっていると、排他的な選択肢として正しく動作しません。 - どちらのボタンも初期状態でOFFにしたい場合は、
- フォームの
Initialize
イベントで以下のように明示的に設定する方法もあります。
- フォームの
Private Sub UserForm_Initialize()
OptionButton1.Value = False
OptionButton2.Value = False
End Sub
これにより、フォーム表示時にすべてのオプションボタンがOFFの状態になります。
まとめ
- オプションボタンの初期状態は、「Value」プロパティで制御可能。
- デフォルトで「True」になっていることがあるため、意図しない選択状態に注意。
- 明示的に
False
に設定することで、初期状態を未選択にできる。 - より柔軟な制御をしたい場合は、
UserForm_Initialize
イベントでコードによる設定も有効。
今回の設定を通じて、ユーザー操作の前提を整えるフォーム設計の重要性を実感しました。
今後は、より複雑な選択肢やバリデーションも含めて、ユーザーフレンドリーなフォーム設計を意識していきたいと思います。