リストボックスは、ユーザーが項目を選択することができる場所からのリストです。エクセルVBAでのリストボックスを作成するには、次の手順を実行します。

[開発]タブ1. [挿入]をクリックします。

ActiveXコントロールグループで、[リストボックスをクリックしてください。

Create a list box in Excel VBA

3.ワークシート上のリストボックスをドラッグします。

Drag a List Box

注:あなたがコントロール上で右クリックして、コントロールの名前を変更する(デザインモードが選択されていることを確認してください)、[プロパティをクリックすることができます。今のところ、我々は、リストボックスの名前としてListBox1をのままになります。

ワークブックを開きイベントを作成します。ブックを開くとき、ブックのOpenイベントに追加されたコードは、Excel VBAで実行されます。

  1. Visual Basicエディターを開きます。

5.ダブルプロジェクトエクスプローラでこのワークブックをクリックしてください。

6.左側のドロップダウンリストからワークブックを選択し、右のドロップダウンリストから[開く]を選択します。

Workbook Open Event in Excel VBA

7.ワークブックを開きイベントに次のコード行を追加し、リストボックスに項目を追加するには:

With Sheet1.ListBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

注:あなたのリストボックスが2番目のワークシート上に配置されている場合、リストボックスは、第3のワークシート上に配置されている場合、シート3をシート2を使用する、などのワークブックを開きイベントの外にこれらのコード行を使用する場合は、次のコード行を追加したい場合がありますこれらのコードの行の前に。このコード行はリストボックスをクリアします。あなたが複数回あなたのコードを実行する場合は、この方法は、あなたの項目が複数回追加されることはありません。

ListBox1.Clear

8.リストボックスで、セルに右クリックし、このリストボックスをリンクする(デザインモードが選択されていることを確認してください)、プロパティをクリックします。 LinkedCellのためにD3を入力してください。

LinkedCell

注:また、セルの範囲で、リストボックスを埋めるためにListFillRangeプロパティを参照してください。

9.保存し、閉じて、Excelファイルを再度開きます。

結果:

List Box

いくつかの状況では、それは直接、ワークシート上のリストボックスを配置するのに役立つことができますがユーザーフォーム上に置かれたときに、リストボックスには特に便利です。