(3)コンボボックス

複数行の設定されたデータを選ぶこともでき、直接データを書き込むこともできます。数個のデータの中から一つを選択してもらいたい時に使用します。コンボボックスに表示させるデータはVBAで書きます。

図12:コンボボックスの設定

図12にあるVBAのリストです

[リスト3]UserForm_Initialize(コンボボックス.xlsm)

Private Sub UserForm_Initialize()
   Me.ComboBox1.Clear
   Me.ComboBox1.AddItem ("北海道")
   Me.ComboBox1.AddItem ("本州")
   Me.ComboBox1.AddItem ("四国")
   Me.ComboBox1.AddItem ("九州")
   Me.ComboBox1.Text = "九州"
End Sub

コンボボックスのデータを設定するには、Initializeイベントハンドラを使います。Initializeイベントハンドラはフォームを表示する前に実行されます。 前にも書きましたが、~イベントといわれるものは、各コントロールに設定されていて、マウスをクリックしたり、そのコントロールがアクティブになったりしたときに発生します。

そして、イベントハンドラが、処理させたいVBAを書き込む場所です。コードブロックの上にあるコンボボックスの左側でコントロールを指定して、右側で各イベントを指定すると、イベントハンドラの骨組みが表示されます。 以下は、作成したコンボボックスを実行した画面です。

図13:コンボボックスの実行

(4)チェックボックス

はい/いいえやON/OFFのように二つのどちらかを選ぶ時に使用します。プロパティのCaptionに文章を入れるとフォームに表示されます。ValueにTrueを書くとチェックされた状態になります。

図14:チェックボックスの設定

(5)オプションボタン

チェックボックスと同じように、チェックしたか、してないかの二つの状態を選ぶものです。オプションボタンは(6)のフレームと組み合わせて、複数のオプションボタンの中から一つだけチェックしてもらいたい時に使用します。 プロパティのCaptionに文章を入れるとフォームに表示されます。ValueにTrueを書くとチェックされた状態になります。

図15:オプションボタンの設定

あまり単独では使用されません。単独の場合、オプションボタンをクリックすることでチェックはできますが、解除することはできません。

(6)フレーム

表示した内容をグループ化したい時に使用します。(5)のオプションボタンを組み合わせてよく使用されます。プロパティのCaptionに文章を入れるとフォームに表示されます

図16:フレームの設定

実行すると、フレームの中のオプションボタンはチェックできるのは一つだけになります。 以下は、作成したフレームにオプションボタンをセットして実行した画面です。

図17:フレームの実行