【VBA】ユーザーフォームのオプションボタンで処理を分岐させる方法

目次

はじめに

今回は、ユーザーフォームに配置したオプションボタンを使って処理を分岐させる方法について学びました。

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

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

背景

ユーザーフォーム上に、「あり」「なし」という2つのオプションボタンを設置し、
選択された内容に応じて異なる処理を実行させたいと考えました。


実装方法:「Select Case True」を使って分岐

今回使用した構文は、Select Case True を利用する方法です。

実際のコード例

Select Case True
    Case OptionButton1.Value
        Range("A1") = "あり"
    Case OptionButton2.Value
        Range("B1") = "なし"
End Select

コードの解説

  • Select Case True
     → 条件式が True になるケースを判定します。
      この構文を使うことで、複数の条件を明示的に分岐させることが可能になります。
  • Case OptionButton1.Value
     → 「あり」が選ばれている(=OptionButton1.Value = True)場合に実行。
  • Range("A1") = "あり"
     → セルA1に「あり」と表示。
  • Case OptionButton2.Value
     → 「なし」が選ばれている場合に実行。
  • Range("B1") = "なし"
     → セルB1に「なし」と表示。

応用のヒント

今回の例では、セルに文字列(「あり」「なし」)を入力しましたが、
他にも以下のような応用が可能です。

  • 特定の数式を代入する
  • 別の処理やマクロを呼び出す
  • 他のフォーム要素の表示・非表示を切り替える
  • ファイルを開いたり保存したりといった操作に分岐する

まとめ

  • ユーザーフォームのオプションボタンは、処理の分岐に非常に便利
  • Select Case True構文を使えば、複数のオプションに応じた分岐処理を簡潔に記述可能
  • セルへの出力だけでなく、あらゆる処理に応用が可能

今回の学習を通じて、ユーザーフォームを活用したインタラクティブな操作がより柔軟に実現できると感じました。
今後は、複数のオプションや入力欄を組み合わせて、より複雑なユーザー操作にも対応できるフォーム設計に挑戦していきたいと考えています。

技術書の購入コストを抑えてスキルアップするなら

ここまで読んでいただきありがとうございます。最後に宣伝をさせてください。

プログラミングの技術書や参考書は、1冊3,000円〜5,000円するものも多く、出費がかさみがちです。Kindle Unlimitedであれば、月額980円で500万冊以上の書籍が読み放題となります。

気になる言語の入門書から、アルゴリズム、基本設計の専門書まで、手元のスマホやPCですぐに参照可能です。現在は「30日間の無料体験」や、対象者限定の「3か月499円プラン」なども実施されています。まずはご自身のアカウントでどのようなオファーが表示されるか確認してみてください。

[Kindle Unlimited 読み放題プランをチェックする]

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

この記事を書いた人

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

目次