この記事では、シート上に配置されたフォームコントロールのコンボボックスに値を登録・削除する方法についてご説明します。
【動画】シート上に配置されたフォームコントロールのコンボボックスに値を登録・削除する実際の動き
本題に入る前に、まずは次の動画をご覧ください。
シート上に配置されたフォームコントロールのコンボボックスに値を登録するには、AddItemメソッドを実行します。
また、削除はRemoveAllItemsメソッドを実行します。(1回の実行ですべての値を削除)
マクロ作成の流れ(値の登録)
マクロ作成の流れ(値の削除)
Excelファイルの例
今回は次のExcelファイルを用意しました。
シート上にフォームコントロールのコンボボックスが配置されており、D列にコンボボックスに登録したい値が入力されています。
コードの例
Excelのマクロのコード:コンボボックスに値を登録(例)
Option Explicit Sub cbx_data_add() Dim obj As Object 'シェイプ・コントロール用変数 Dim cnt As Integer 'カウンタ 'カウンタを初期化する Const rowPos As Integer = 2 With Worksheets("top") 'D列の表の値の数分ループさせるFor文 For cnt = 2 To .Range("D2").End(xlDown).Row '値をコンボボックスに追加する .DropDowns("combobox1").AddItem .Range("D" & cnt).Value Next cnt End With End Sub
注目すべきコード
見て頂きたいのは14行目から19行目です。
'D列の表の値の数分ループさせるFor文 For cnt = 2 To .Range("D2").End(xlDown).Row '値をコンボボックスに追加する .DropDowns("combobox1").AddItem .Range("D" & cnt).Value Next cnt
以上のコードは、シート上に配置されたフォームコントロールのコンボボックスに表の値を登録するコードです。
14行目では、表の値の数分ループさせるFor文を用意し、17行目で表の値をAddItemメソッドの引数に指定して実行することで値を登録することができます。
ちなみに、コンボボックスに名前を指定していますが(上記のコードでは「combobox1」)、コンボボックスの名前の付け方は次の記事を参考にしてください。
【Excel】シート上に配置されたボタンなどのフォームコントロールの名前を変更するにはExcelのマクロのコード:コンボボックスに値を登録(例)
Option Explicit Sub cbx_data_del() 'コンボボックスに登録されている値を削除する Worksheets("top").DropDowns("combobox1").RemoveAllItems End Sub
注目すべきコード
見て頂きたいのは6行目です。
'コンボボックスに登録されている値を削除する Worksheets("top").DropDowns("combobox1").RemoveAllItems
シート上に配置されたフォームコントロールのコンボボックスのRemoveAllItemsメソッドを実行することで登録された値をすべて削除することができます。
動作確認
①コンボボックスに値を登録
マクロ実行前
今回は「Excelファイルの例」のexcelファイルを使います。
コンボボックスには値が何も登録されていない状態です。
マクロ実行後
マクロ実行後は、コンボボックスに表の値が全て登録されました。
②コンボボックスから値を削除
マクロ実行前
今回はExcelファイルの例のexcelファイルを使います。
コンボボックスにはすでに値が登録されている状態です。
マクロ実行後
マクロ実行後は、コンボボックスから値が全て削除されました。
最後に
本記事では、シート上に配置されたフォームコントロールのコンボボックスに値を登録・削除する方法についてご説明しました。
フォームコントロールのコンボボックスは、ActiveXコントロールのコンボボックスとはメソッドの使い方が違っていたり(削除の場合)、フォームコントロールのコンボボックスはDropDownsを使う、などの違いがあります。
なので、シート上に配置されたActiveXコントロールのコンボボックスに値を登録・削除したい時は本記事を参考にしてみてくださいね。
Excelのスキル向上やExcelの基礎知識をしっかりと学びたいなら
Excelのスキルを習得したい、Excelの基礎知識をもっと理解したい、そう考えているなら「無期限サポート付きExcel講座【すごい改善】」がおすすめです。
Excelのスキルの基礎を身につけるなら【すごい改善】で無期限サポート付きがあるので、これで「Excelのスキルや基礎」を学ぶのにおすすめですよ。