Excelユーザーフォーム入門
第14回.オプションボタン(OptionButton)の追加

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
最終更新日:2013-02-18

第14回.オプションボタン(OptionButton)の追加


オプションボタンは、複数の項目から単一選択になります。


従って、コンボボックスやリストボックスの単一選択と同じ機能と言えます。

違いは、見た目の問題になります。

選択項目が変化しない、つまり今後も増減しない項目で、

かつ、選択数が少ない場合には、見た目にも分かりやすいコントロールだと思います。

ここでは、顧客が企業か個人かの区分を追加します。

マクロ VBA サンプル画像

オブジェクト名は、opt企業opt個人

後は、Captionを指定すれば良いでしょう。

他のプロパティでは、チェックボックスと同様に、

Alignment

これが、文字を左右どちらに表示するかの指定になります。


チェックのON/OFF


オプションボタンは、1つのみ選択可能なので、1つのボタンをONにすると、

自動的に、他のボタンはOFFになります。

Me.opt企業.Value = True ・・・ 企業がON、個人がOFFになります。
Me.opt個人.Value = True ・・・ 企業がOFF、個人がONになります。


適宜、UserForm_Initialize等で設定します。


チェック状態の判定

Valueプロパティを判定します。

Me.opt企業.Value = True ・・・ 企業がONで、個人がOFFの状態です。
Me.opt個人.Value = True ・・・ 企業がOFFで、個人がONの状態です。


実際のコードでは、Select Caseを使って

Select Case True
  Case Me.opt企業.Value
    '企業がONです
  Case Me.opt個人.Value
    '個人がONです
  Case Else
    '何も選択されていません
End Select

このような書き方が解り易いと思います。


オプションボタンは単純なON/OFFだけなので、扱いは簡単です。




同じテーマ「Excelユーザーフォーム入門」の記事

第11回.コンボボックス(ComboBox)の追加

ユーザーフォームで良く使われるコントロールは、ラベル、テキストボックス これは当然ですが、その次に良く使われるものは、コンボボックス、リストボックス、チェックボックス、オプションボタンになるでしょう。今回から、この3つのコントロールの使い方の解説をします。
第12回.リストボックス(ListBox)の追加
単一列(1列)の場合は、コンボボックスと同様なので、今回は、複数列について説明します。複数列の扱いは、コンボボックスも同様になります。作成するリストは、都道府県を選択するリストにしてみます。ラベルとリストボックスを追加します。
第13回.チェックボックス(CheckBox)の追加
チェックボックスは、ONかOFFかの2択の場合に良く使われます。今回は、顧客の休止状態のチェックボックスを追加してみましょう。オブジェクト名:chk休止 とすることにします。設定するプロパティはCaptionに"休止"とだけ指定すればOKです。
第14回.オプションボタン(OptionButton)の追加
第15回.ここまでの整理
一旦ここまでの復習を兼ねてプログラムの整理をします。ついでにシートの当該行のダブルクリックでフォームが開くようにします。Worksheets(_顧客マスタ_) シートモジュール 標準モジュール SubFormShow() IffrmSample.doModal(ActiveCell.Row)=TrueThen MsgBox_「OK」が押されました。
第16回.アクティブコントロールに色を付ける
フォーム内のどこにカーソルがあるか分かりづらい場合があります。そこで、アクティブなコントロールのバックカラーを変えたり、対応するラベルのフォントを変更したりして、アクティブなコントロールを解り易くします。以下はサンプルコードになります。
第17回.Enterキーで次のコントロールに移動する
Enterキーの押下で、(タブ順が)次のコントロールに移動してほしいものです。テキストボックスは、Enterキー押下で次のコントロールに進みます。(MultiLineの場合は、テキストないの改行となります。
第18回.2段階コンボボックス
2段階コンボボックスを作成します。1つのコンボボックスの選択内容により次のコンボボックスのリストを変更します。ワークシートのセルの入力規則で実施する場合は入力規則のリストを2段階の絞り込みで作成1 入力規則のリストを2段階の絞り込みで作成2一覧リストを使用して「入力規則」の「リスト」を作成し「リスト」の選択結果によりとなりの「リスト」の内容を自動で変化さ…
第19回.テキストボックス数値編集
数値専用のテキストボックスの作成です。まずは、以下のように金額のテキストボックスを追加します。オブジェクト名は、txt金額とします。数字のみ入力可能なテキストボックスになります。数字以外では、EnterキーやBackSpaceキー、そしてカンマ等々を入力できるようにしておきます。
第20回.テキストボックスの各種イベント
ユーザーフォームで最も良く使われる、テキストボックスのイベントの一覧と、キー入力と、コントロール間の移動時のイベント発生順について記載します。ユーザーの操作に応じて自動処理するためには、その操作により発生するイベントと、その発生順序を理解しておくことが必要です。
第21回.ユーザーフォームの各種イベント
ユーザーフォームに対する操作(アクション)で発生するイベントの一覧です、ユーザーフォームそのものの制御をする場合は、このイベントを利用します。ユーザーフォームのイベント一覧 太字のイベントが良く使われるイベントになります。それ以外は、特殊な機能を実装したい場合に限られます。


新着記事NEW ・・・新着記事一覧を見る

文字列結合&でコンパイルエラーになる理由|VBA技術解説(9月19日)
Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



  • >
  • >
  • >
  • オプションボタン(OptionButton)の追加

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    なお、掲載のVBAコードは自己責任で使ってください。万一データ破損等の損害が発生しても責任は負いません。




    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ