【VBA】ユーザーフォームのオプションボタンを初期状態でOFFにする方法

目次

はじめに

今回は、ユーザーフォーム上に設置したオプションボタンを、初期状態でOFFにする方法について学びました。

使用環境は以下のとおりです。

  • OS: Windows 10 Pro
  • バージョン: 20H2

背景

ユーザーフォームに「あり」「なし」のオプションボタンを2つ設置したところ、
フォームを表示した時点で片方のボタンがON(選択済み)になっている状態でした。

できれば、どちらのボタンも未選択状態(OFF)でフォームを表示させたいと考え、
その設定方法を調べました。


結論:プロパティの「Value」を「False」に設定する

オプションボタンの初期状態をOFFにするには、「Value」プロパティを False に設定します。


手順

  1. VBE(Visual Basic Editor)を開く
    Alt + F11 でVBAの編集画面を開きます。
  2. 対象のユーザーフォームを選択する
  3. オプションボタン(OptionButton)をクリックして選択
  4. [プロパティウィンドウ] で「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イベントでコードによる設定も有効。

今回の設定を通じて、ユーザー操作の前提を整えるフォーム設計の重要性を実感しました。
今後は、より複雑な選択肢やバリデーションも含めて、ユーザーフレンドリーなフォーム設計を意識していきたいと思います。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次