ホーム > ユーザーフォーム > Lesson9: リストボックス

リストボックス
リストボックス リストボックス
リストボックスは複数の項目を並べて表示できるコントロールです。

リストボックスをする前に、新しくユーザーフォームを作ります。
(今までの勉強で配置したコントロールが増えて、使いにくくなったので)
新しいコマンドボタン
新しいコマンドボタン
プロパティ 設定
オブジェクト名 cmdForm2
Caption 入力フォーム2
Private Sub cmdForm2_Click()
  frmEntry2.Show
End Sub

新しいユーザーフォーム
プロパティ 設定
オブジェクト名 frmEntry2
Caption 成績表の入力2
リストボックスを使って、番号を選ぶと名前が表示されるようにします。
リストボックス
リストボックスとテキストボックス(名前表示用)を配置します。
プロパティ 設定
オブジェクト名 libNum
RowSource 成績表!B3:B6
プロパティ 設定
オブジェクト名 txtName
RowSourceプロパティでセルの範囲(番号が入力されている領域)を指定してます。
シート名が「成績表」、番号が入力されているのがB3〜B6。
リストボックス配置
2007年3月
リストボックス リストボックス その2
項目が選択されたとき、変更されたとき、表示するのでChangeイベント。
Linsindexプロパティでリスト内のどの項目を選択しているかわかります。
オブジェクト.ListIndex

リストの1番上の項目を選択しているとき、Linsindexの値は0。
そして、2番目を選択しているときは、1です。
何も選択されていないときは、-1。

Cells(行番号,列番号)を使ってセルを参照します。
番号1はの名前は、Cells(3 , 3)
番号2はの名前は、Cells(4 , 3)
番号3はの名前は、Cells(5 , 3)
番号4はの名前は、Cells(6 , 3)
これを cmbNum.ListIndex を使って表すと
Cells(3 + libNum.ListIndex, 3)
Private Sub libNum_Change()
  
  txtName.Value = Cells(3 + libNum.ListIndex, 3)
  
End Sub

これを実行してみると
実行結果
番号を選ぶと名前が表示されるようになりました。
2007年3月