コンボボックスは、ユーザーが彼/彼女の自身の選択でアイテムや塗りつぶしを選択することができ、そこからドロップダウンリストです。エクセルVBAでコンボボックスを作成するには、次の手順を実行します。

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

ActiveXコントロールグループで、[コンボボックス]をクリックします。

Create a combo box in Excel VBA

3.ワークシート上のコンボボックスにドラッグします。

Drag a Combo Box

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

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

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

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

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

Workbook Open Event in Excel VBA

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

With Sheet1.ComboBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

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

ComboBox1.Clear

ComboBox1.Value = ""

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

LinkedCell

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

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

結果:

Combo Box

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