リストボックスで表示された項目を選択状態にする

リストボックス選択状態 リストボックス

リストボックスが表示された時に選ぶ確率が高い項目(指定行)を選択状態にさせて、1クリック分の手間を省きたいと思ったことありませんか?

たった1行付け加えるだけでお好みのリストを選択状態(初期設定)にすることができます。

スポンサーリンク

ListIndexプロパティを付け加える

リストボックスの中の特定のリスト(項目)、言い換えれば「指定した行」を選択状態にするには、ListIndexプロパティを使います。

使い方は簡単で、VBAコードの最後End Subの前に書き加えれば完成です。

ListBox1.listindex = 選択したい行番号

ちなみに選択したい行番号は、リストボックスの場合は最初の行は1行目ではなく「0」なので、気をつけてくださいね。

指定した項目を選択状態にする

Private Sub UserForm_Initialize()
With UserForm1.Controls(“ListBox1”)
.AddItem “釧路市湿原展望台”
.AddItem “北斗展望台”
.AddItem “温根内展望テラス”
End With
ListBox1.ListIndex = 2
End Sub

VBA解説
  1. ユーザーフォームイニシャライズイベントを実行する
  2. ユーザーフォームのリストボックス1を設定
  3. リストは釧路市湿原展望台
  4. リストは北斗展望台
  5. リストは温根内展望テラス
  6. Withステートメント終了
  7. リストボックス1の選択状態を先頭から2つ目(上から3番目)にする
  8. マクロ記録終了

ここでは、説明通りにEnd Subの前にListBox1.ListIndex = 2を書きましたが、Withステートメント内のEnd With の前にも書くことができて、尚且つ.ListIndex = 2と、ListBox1を省略してVBAコードを書くことができますよ。

また、ユーザーフォームが表示されると同時にリストの選択状態にするために、コマンドボタンにVBAコードを書くのではなく、Initializeイベントを使用していますので、Initializeの詳細については下記と重複するのでここでは省略します。

リストボックス関連