目次
があります。 コンボボックス は、エクセルの特別な機能です。 エクセルでオプションのリストを使用する必要がある場合、この機能を使用します。 今回は、この機能を使用した エクセルコンボボックス を、適切な図解で詳しく説明します。
練習用ワークブックをダウンロードする
この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。
コンボボックスの使用.xlsmExcelのコンボボックスとは?
コンボボックス は、特定のテキストボックスの組み合わせに基づくドロップダウンリストです。 ドロップダウンリストから、希望のオプションを選択することができます。 また、選択したアイテムのシリアル番号を表示するセルをこのリストにリンクすることができます。 Excelコンボボックスは、以下の方法で利用可能です。 エクセル2007 まで 365 .
Excel 2007/2010/2013/2016またはより更新されたバージョンでコンボボックスを追加する方法
ここでは、Excelでコンボボックスを追加する基本的な手順を紹介します。 以下の手順は、すべてのExcelのバージョンのコンボボックスに適用されます。
コンボボックスを追加するために デベロッパー タブに表示されます。 通常は デベロッパー ツールは エクセルリボン のオプションがあります。
📌 ステップス
- 次のページへ ファイル>> オプション . エクセルオプション のウィンドウが表示されます。
- 選ぶ リボンのカスタマイズ オプションを左側から選択します。
- 次に メインタブ から リボンのカスタマイズ の欄があります。
- を検索してください。 デベロッパー オプションを一覧から選択します。
- の該当するボックスにチェックを入れます。 デベロッパー オプションを使用します。
- 最後に よっしゃー .
- シートに戻る
を見ることができます。 デベロッパー タブが利用可能になりました。
- をクリックします。 デベロッパー タブで表示します。
- を選んでください。 インサート オプションを指定します。 コントロールズ のグループです。
のオプションがあります。 インサート このウィンドウには、2種類のコンボボックスが表示されています。
- ここで、マークされたコンボボックスのいずれかを選択します。
- 次に、目的の場所のシートにカーソルを合わせます。
また、コンボボックスのサイズもカスタマイズすることができます。
2種類のエクセルコンボボックスを追加する方法
コンボボックスには2つの種類があります。
- フォームコントロール コンボボックス と
- ActiveXコントロールのコンボボックス .
以下では、その2つのコンボボックスについて説明します。
1.フォームコントロールのコンボボックスの追加
を追加する方法を紹介します。 フォームコントロール コンボボックス をExcelで表示します。
曜日名のデータセットがあります。 ここでは、ドロップダウンリストから曜日を選択し、選択番号を表示するコンボボックスを追加します。 また、選択した曜日名を表示するセルを追加します。
📌 ステップス
- まず、コンボボックスを フォームコントロール のセクションをご覧ください。
- コンボボックスをシートの好きな場所に配置します。
- マウスの右ボタンを押す。
- を選んでください。 フォーマット制御 オプションを指定します。 コンテキストメニュー .
- があります。 オブジェクトのフォーマット のウィンドウが表示されます。
- を選んでください。 制御 のタブができました。
表示されたボックスの値を入力します。 入力レンジ の場合、ドロップダウンの値を含む範囲を選択します。
があります。 セルリンク ボックスは、選択項目の通し番号を表示するセルを指します。
があります。 ドロップダウン・ライン は、ドロップダウンに表示される選択肢の数を示したものです。
- 最後に よっしゃー .
- ここで、ドロップダウンの下矢印をクリックします。
オプションの一覧はこちらです。
- ドロップダウン・リストからオプションを選択します。
ということがわかります。 2 が表示されます。 セルD5 このセルはドロップダウン・リストと連動しています。
- ここで、さらに特定のセルに選択値の値や選択した日の名前を表示させたいと思います。
- そのための計算式を適用しています。
- に次の数式を入れます。 セルE5 .
=index(b5:b11,d5)
- を押してください。 入力 ボタンをクリックすると、結果が表示されます。
ということで、全工程の フォームコントロール のコンボボックスが表示されます。
続きを読む Excel VBAでよく使われるオブジェクト10個のリスト(属性&サンプル)
2.ActiveXコントロールのコンボボックスの作成
この項では、このような場合に備えて ActiveX コントロール このコンボボックスでVBAのコードを使用できる機能が追加されました。
でのコンボボックスを使って結果を表示するだけです。 セルD5 .
📌 ステップス
- まず最初に 名前付き をクリックします。 計算式 タブを選択し 名前の定義 オプションを使用します。
- があります。 新名称 のウィンドウが表示されます。
- に範囲名を入力します。 名称 ボックスを使用します。
- で範囲を選択します。 について言及しています。 をクリックすると、Excelシートが表示されます。 よっしゃー .
- ここで、コンボボックスの挿入を ActiveX コントロール のセクションをご覧ください。
- そのコンボボックスを横に置く セルD5 .
- ここで、マウスの右ボタンを押します。
- を選んでください。 物件紹介 オプションを指定します。 コンテキストメニュー .
- があります。 物件紹介 のウィンドウが表示されます。
- を検索してください。 LinkedCell と ListFillRange のオプションがあります。 物件紹介 ウィンドウに表示されます。
インサート D5 をリンクセルとし 日 を記載した範囲とします。
- では、無効化します。 デザインモード から コントロールズ のグループです。
- その後、コンボボックスの下矢印をクリックします。
- 一覧はこちら
- いずれかを選択してください。
でその日が表示されていることがわかります。 セルD5 .
類似の読み物
- Excel VBAプログラミング&マクロ (無料チュートリアル - ステップバイステップ)
- ExcelでVBA入力関数を使用する方法(2例)
- Excel VBAによる22のマクロ例
- エクセルVBAユーザーフォームの使い方(2つの適切な例)
- Excel VBAをマスターするための20の実践的なコーディングのヒント
動的に依存するコンボボックスを作成するExcel VBA
さて、今回は、ダイナミックで依存性の高い ActiveX コントロール ExcelのVBAマクロを使ったコンボボックス
ここでは、「日」と「月」の2つのカラムがあります。 ここでは、2つのコンボボックスを導入します。 2つ目のコンボボックスは、1つ目のコンボボックスに依存します。 まず、カテゴリを選択します。 第1回 コンボボックスから、そして 第2回 ボックスの下にあるオプションを取得します。
📌 ステップス
- まず デベロッパー タブで表示します。
- をクリックします。 ビジュアルベーシック オプションを指定します。 コード のグループです。
- すると、VBAのウィンドウが表示されます。
- 動的で依存性のあるコンボボックスを作成するためには ユーザーフォーム .
- を選んでください。 ユーザーフォーム オプションを指定します。 インサート タブで表示します。
- を見ることができます。 ユーザーフォーム が表示されます。 ツールボックス .
- にカーソルを合わせたまま、マウスの右ボタンを押します。 ユーザーフォーム .
- を選んでください。 物件紹介 オプションを指定します。 コンテキストメニュー .
- より 物件紹介 ウィンドウに移動します。 キャプション ここに名前を入れてください。 これは、タイトルになります。 ユーザーフォーム .
- を追加してください。 Lable と コンボボックス から ツールボックス .
- でそれらのボックスをコピーします。 Ctrl+C を押して貼り付けます。 Ctrl+V .
- ここで、カーソルをいずれかの ラベル と入力し、右ボタンを押す。
- を選んでください。 物件紹介 オプションを指定します。 コンテキストメニュー .
- ここで、名前、フォントの色、大きさなどを、この 物件紹介 ウィンドウに表示されます。
- 属性を変更した後、私たちの ユーザーフォーム はこのようになります。
- ここで、メインタブにある実行オプションを押します。
- これがその姿です。
- ここで、ダブルクリックします。 ユーザーフォーム そして、VBAウィンドウに入り、コードを記述します。
- ウィンドウの右側にある矢印をクリックします。
- を選択することになります。 アクティベート を選択すると、リストが表示されます。
- を有効にするためのコードがウィンドウに追加されます。 ユーザーフォーム .
- のコードを削除します。 ユーザーフォーム のコードをVBAウィンドウから表示します。
- 次に、別のVBAコードをコピーして、ウィンドウに貼り付けます。
Private Sub UserForm_Activate() Dim D_Sheet As Worksheet Set D_Sheet = ThisWorkbook.Sheets("Dependent & Dynamic Combo Box") Dim N As Integer Me.ComboBox1.Clear For N = 1 To Application.WorksheetFunction.CountA(D_Sheet.Range("1:1")) Me.ComboBox1.AddItem D_Sheet.Cells(1, N).Value Next N End Sub
- の下矢印をクリックすると カテゴリー のコンボボックスで、オプションを確認します。
- の下矢印をもう一度クリックします。 オプション コンボボックス
があります。 オプション コンボボックスは空ですが カテゴリー コンボボックスが空でない。
- もう一度、ダブルクリックで コンボボックス1 .
- 別のVBAコードをコピーして、ウィンドウに貼り付けます。
Private Sub ComboBox1_Change() Dim D_Sheet As Worksheet Set D_Sheet = ThisWorkbook.Sheets("Dependent & Dynamic Combo Box") Dim N, M As Integer M = Application.WorksheetFunction.Match(Me.ComboBox1.Value, D_Sheet.Range("1:1"), 0) Me.ComboBox2.Clear For N = 2 To Application.WorksheetFunction.CountA(D_Sheet.Cells(1, M).EntireColumn) Me.ComboBox2.AddItem D_Sheet.Cells(N, M).Value Next N End Sub
- もう一度、実行します。 ブイビーエー を押すと、コードが表示されます。 F5 ボタンをクリックします。
を見ることができます。 オプション コンボボックスが動作するようになったということです。 オプション コンボボックスは依存関係にあります。
- 今度は、コンボボックスをダイナミックに動作させたいと思います。
- データセットに別のカラムを追加する。
- もう一度 ユーザーフォーム .
そして、新しいカラムがコンボボックスに追加されていることがわかります。
続きを読む Excel VBA UserFormの作成方法(詳細手順付き)
Excelでコンボボックスを削除する方法
ここでは、コンボボックスを削除する方法を説明します。
📌 ステップス
- まずは デベロッパー タブで表示します。
- を有効にします。 デザインモード .
- コンボボックスを選択します。
- ここで、キーボードから削除ボタンを押します。
コンボボックスはすでにシートから削除されていることがわかります。
結論
今回は、コンボボックスの挿入方法、ダイナミック化、削除方法について説明しました。 ご興味のある方は、ぜひ弊社ホームページをご覧ください。 エクセルウィキ・ドットコム をクリックし、コメント欄にご意見をお寄せください。