【Excel VBA】リストボックスで複数選択できるようにする

当ページのリンクには広告が含まれている可能性があります。
リストボックス複数選択

こんにちは、ユーキです。

今回は、リストボックスで複数選択できるようにする方法を紹介します。

目次

複数行選択できるリストボックス

リストボックスを複数行選択できるようにするには、MultiSelectプロパティを変更します。MultiSelectプロパティに設定できるのは、以下の3種類になります。

  • fmMultiSelectSingle(0)
  • fmMultiSelectMulti(1)
  • fmMultiSelectExtended(2)

()の中の数字を指定しても問題ないですが、定数が用意されています。後でコードを読むときに、定数で指定をしておいたほうが意味がわかりやすくなるので、定数を指定するように心がけましょう。

単一行選択:fmMultiSelectSingle(0)

単一行選択のリストボックスにするには、fmMultiSelectSingleを設定します。

最初にリストボックスを配置した際は、このfmMultiSelectSingleが設定されています。そのため、とくに設定を変更しない場合は単一行選択のリストボックスとなります。

ListBox1.MultiSelect = fmMultiSelectSingle

プロパティ画面で設定することも可能です。

単一行選択リストボックスの選択

リストの設定の仕方については、以下の記事を参考ください。

複数行選択:fmMultiSelectMulti(1)

選択した分だけ選択状態にできるリストボックスにしたい場合、fmMultiSelectMultiを指定します。

ListBox1.MultiSelect = fmMultiSelectMulti

fmMultiSelectMultiを指定すると、スペースキー押下 または リストボックスの項目をクリックで選択状態になります。選択中の項目をスペースキー押下 または リストボックスの項目をクリックすると、選択解除状態なります。

複数行選択
選択行の解除

単一行選択+複数選択:fmMultiSelectExtended(2)

マウスでクリックすると単一行選択、Ctrlキーを押しながら選択すると複数選択、Shiftキーを押しながら選択すると範囲選択ができるリストボックスにするには、fmMultiSelectExtendedを指定します。

ListBox1.MultiSelect = fmMultiSelectExtended
単一行選択リストボックスの選択
Ctrlキーをしながら選択
Shiftキーを押しながら選択

まとめ

今回は、リストボックスで複数行選択する方法について紹介しました。

Point
  • リストボックスで複数行選択するには、MultiSelectプロパティを選定する
  • MultiSelectプロパティに設定できるのは、3種類
  • 単一行選択:fmMultiSelectSingle(0)
  • 複数行選択:fmMultiSelectMulti(1)
  • 単一行選択+複数行:fmMultiSelectExtended(2)

少しでもお役に立てば、幸いです。

スポンサーリンク
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

旅好き職業プログラマ。文系大学卒業後、ITソフトウエア開発会社に勤務してプログラミング言語を学ぶ。現在は転職し、プロジェクトマネージャ的ポジションで生産管理システムの開発にあたる。
得意言語は、VB、VB.NET、C#.NET、Java、SQLなど。

目次