ワークシートにリスト ボックスまたはコンボ ボックスを追加する

外観が似ていてコントロールが少し異なるリスト ボックスまたはコンボ ボックスを使用して、複数の項目を選択したり、リストに個別の値を入力したりできます。このようなリストの項目の一般的な例には、従業員名、為替レート、製品項目などがあります。

目的に合ったトピックをクリックしてください

リスト ボックスとコンボ ボックスについて

リスト ボックスを追加する (フォーム コントロール)

リスト ボックスを追加する (ActiveX コントロール)

コンボ ボックスを追加する (フォーム コントロール)

コンボ ボックスを追加する (ActiveX コントロール)

リスト ボックスとコンボ ボックスについて

リスト ボックス    1 つまたは複数のテキスト項目のリストを、ユーザーが選択できる形式で表示します。

リスト ボックス (フォーム コントロール)

フォームのリスト ボックス コントロールの例

リスト ボックス (ActiveX コントロール)

ActiveX のリスト ボックス コントロールの例

コンボ ボックス    テキスト ボックスとリスト ボックスを組み合わせて、ドロップダウン リスト ボックスを作成します。コンボ ボックスはリスト ボックスに比べてコンパクトですが、項目のリストを表示するには下向きの矢印をクリックする必要があります。コンボ ボックスを使用して、エントリを入力したり、リストから 1 つの項目のみを選択したりできます。このコントロールは、入力方法に関係なく、現在の値をテキスト ボックスに表示します。

コンボ ボックス (フォーム コントロール)

フォームのコンボ ボックス コントロールの例

コンボ ボックス (ActiveX コントロール)

ActiveX のコンボ ボックス コントロールの例

ページの先頭へ

リスト ボックスを追加する (フォーム コントロール)

  1. [開発] タブが表示されていない場合は表示します。

    [開発] タブを表示する

    1. Office ボタンのイメージ(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。

    2. [基本設定] の [Excel の使用に関する基本オプション] で、[[開発] タブをリボンに表示する] チェック ボックスをオンにし、[OK] をクリックします。

        リボンは、Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。

  2. [開発] タブの [コントロール] で [挿入] をクリックし、[フォーム コントロール] の ボタンの画像(リスト) をクリックします。

    controls group

  3. ワークシートで、リスト ボックスを配置するセルをクリックします (このセルは、表示されるリスト ボックスの左上隅になります)。

  4. [開発] タブの [コントロール] で ボタンの画像(プロパティ) をクリックします。

    ヒント   コントロールを右クリックし、[コントロールの書式設定] をクリックすることもできます。

    コントロールのプロパティを指定するには、次の操作を行います。

    1. [入力範囲] ボックスに、リスト ボックスに表示する値の格納範囲を指定するセル参照を入力します。

    2. [リンクするセル] ボックスに、リスト ボックスの選択を格納するセル参照を入力します。

      リンクされたセルは、リスト ボックスで選択された項目の番号を返します。範囲の最初の項目が返す値は 1、2 番目の項目が返す値は 2 のようになります。

      数式でこの番号を使用して、入力範囲から実際の項目を返します。

      たとえば、デザート メニュー フォームにセル C1 にリンクするリスト ボックスがあり、リストの入力範囲は D1:D5、入力範囲内の各項目は "アイス クリーム" (D1)、"ケーキ" (D2)、"リキュール" (D3)、"キャンディ" (D4)、および "チョコレート" (D5) だとします。セル B1 に次の数式を入力したときに C1 の値が 3 の場合、リスト ボックスの現在の選択に基づいて選択範囲 D1:D5 から "リキュール" が返されます。

=INDEX(D1:D5,C1)

  1. [選択の種類] で次のいずれかの操作を行って、リスト ボックスの項目の選択方法を指定します。

    • 1 つの項目のみを選択するリスト ボックスを作成するには、[単一選択] をクリックします。

    • 複数の項目を選択するリスト ボックスを作成するには、[複数選択] をクリックします。

    • 拡張選択のリスト ボックスを作成するには、[拡張選択] をクリックします。

        選択の種類を [複数選択] または [拡張選択] に設定すると、[リンクするセル] ボックスで指定されたセルは値 0 を返し、そのセルは無視されます。選択の種類が [複数選択] および [拡張選択] のときは、Microsoft Visual Basic for Applications (VBA) コードを使用する必要があります。その場合は、ActiveX リスト ボックス コントロールの使用をお勧めします。

ページの先頭へ

リスト ボックスを追加する (ActiveX コントロール)

  1. [開発] タブが表示されていない場合は表示します。

    [開発] タブを表示する

    1. Office ボタンのイメージ(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。

    2. [基本設定] の [Excel の使用に関する基本オプション] で、[[開発] タブをリボンに表示する] チェック ボックスをオンにし、[OK] をクリックします。

        リボンは、Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。

  2. [開発] タブの [コントロール] で [挿入] をクリックし、[ActiveX コントロール] の ボタンの画像(リスト) をクリックします。

    controls group

  3. ワークシートで、リスト ボックスを配置するセルをクリックします (このセルは、表示されるリスト ボックスの左上隅になります)。

  4. ActiveX コントロールを編集するために、デザイン モードで作業していることを確認します。[開発] タブの [コントロール] で ボタンの画像(デザイン モード) をオンにします。

  5. コントロールのプロパティを指定するには、[開発] タブの [コントロール] で ボタンの画像(プロパティ) をクリックします。

    ヒント   コントロールを右クリックし、[プロパティ] をクリックすることもできます。

    [プロパティ] ダイアログ ボックスが表示されます。各プロパティの詳細を確認するには、プロパティを選択し、F1 キーを押して Visual Basic のヘルプ トピックを表示します。Visual Basic ヘルプの [検索] ボックスにプロパティ名を入力することもできます。用意されているプロパティの概要を次に示します。

    機能カテゴリ別のプロパティの概要

指定する対象

使用するプロパティ

全般:

ブックを開いたときにコントロールが読み込まれるかどうか (ActiveX コントロールの場合は無視されます)

AutoLoad (Excel)

コントロールがフォーカスを取得できるかどうか、およびユーザーの操作で発生したイベントに対して応答できるかどうか

Enabled (フォーム)

コントロールを編集できるかどうか

Locked (フォーム)

コントロールの名前

Name (フォーム)

コントロールとその下に位置するセルとの連結方法 (自由に移動できる、移動できるがサイズ変更できない、または移動もサイズ変更も可能)

Placement (Excel)

コントロールを印刷できるかどうか

PrintObject (Excel)

コントロールが表示されるかどうか

Visible (フォーム)

文字列:

フォントの属性 (太字、斜体、サイズ、取り消し線、下線、および太さ)

BoldItalicSizeStrikeThroughUnderlineWeight (フォーム)

Input Method Editor (IME) の既定の実行時モード

IMEMode (フォーム)

すべてのテキスト行が表示されるようにコントロールのサイズが調整されるかどうか

IntegralHeight (フォーム)

複数の項目の選択が許可されるかどうか

MultiSelect (フォーム)

コントロール内の文字列

Text (フォーム)

コントロールの中で文字列をどのように配置するか (左、中央、または右)

TextAlign (フォーム)

データとバインド:

コントロールの値にリンクしている範囲

LinkedCell (Excel)

コントロールの内容または状態

Value (フォーム)

サイズと位置:

高さまたは幅 (ポイント単位)

HeightWidth (フォーム)

コントロールからワークシートの左端または上端までの距離

LeftTop (フォーム)

書式:

背景色

BackColor (フォーム)

枠線の色

BorderColor (フォーム)

枠線の種類 (なしまたは単一線)

BorderStyle (フォーム)

前景色

ForeColor (フォーム)

コントロールに影を適用するかどうか

Shadow (Excel)

枠線の外観 (なし、浮き出し、くぼみ、枠囲み、またはバンプ)

SpecialEffect (フォーム)

キーボードとマウス:

ユーザー設定のマウス アイコン

MouseIcon (フォーム)

特定のオブジェクトの上にマウスを置いたときに表示されるポインタの種類 (標準、矢印、I ビームなど)

MousePointer (フォーム)

リスト ボックスに固有の機能:

複数の列のデータのソース

BoundColumn (フォーム)

表示する列の数

ColumnCount (フォーム)

列の見出しとしての単一の行

ColumnHeads (フォーム)

各列の幅

ColumnWidths (フォーム)

リストに値を読み込むために使用する範囲

ListFillRange (Excel)

リストのスタイル (通常、オプション ボタン付き、またはチェック ボックス付き)

ListStyle (フォーム)

コントロールで、ユーザーの入力に基づいてリストの項目を検索する方法 (最初の文字と一致する項目を検索する、入力した文字とすべて一致する項目を検索する、またはマッチングを行わない)

MatchEntry (フォーム)

ユーザーが行を選択したときに Text プロパティに格納する列

TextColumn (フォーム)

リストの先頭に表示される項目

TopIndex (フォーム)

  

  • 複数選択または拡張選択が有効なリスト ボックスを作成するには、MultiSelect プロパティを使用します。この場合、LinkedCell プロパティは #N/A 値を返します。VBA コードを使用して複数選択を処理する必要があります。

  • 列見出しのある 2 列のリスト ボックスを作成するには、ColumnCount2ColumnHeadsTrueColumnWidths を各列の幅 (たとえば、72pt;72pt)、ListFillRange をリストの作成に使用する範囲 (たとえば、B2:C6)、BoundColumn の値を保存する列を示す 1 または 2LinkedCell を選択した値が格納されているセル番地に設定します。既定では、列ラベルが列見出しとして使用されます (たとえば、列 B および列 C)。独自の列見出しを使用するには、ListFillRange で指定された最初の値のすぐ上 (たとえば、B1 および C1) にその見出しを配置してから、[プロパティ] ダイアログ ボックスを閉じます。最後に、リスト ボックスのサイズを調整して両方の列を表示します。

  • リスト ボックスの一方の値を表示し、もう一方の値をリンク セルに保存するリスト ボックスを作成するには、2 列のリスト ボックスを作成し、ColumnWidths の値を 0 に設定して、列の 1 つを非表示にします。たとえば、1 つの列に祝日の名前を格納し、2 番目の列にその祝日の日付を格納する 2 列のリスト ボックスを設定するとします。祝日の名前をユーザーに表示するには、最初の列を TextColumn として指定します。祝日の日付を格納するために、2 番目の列を BoundColumn として設定します。祝日の日付を非表示にするには、2 番目の列の ColumnWidths プロパティを 0 に設定します。

ページの先頭へ

コンボ ボックスを追加する (フォーム コントロール)

  1. [開発] タブが表示されていない場合は表示します。

    [開発] タブを表示する

    1. Office ボタンのイメージ(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。

    2. [基本設定] の [Excel の使用に関する基本オプション] で、[[開発] タブをリボンに表示する] チェック ボックスをオンにし、[OK] をクリックします。

        リボンは、Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。

  2. [開発] タブの [コントロール] で [挿入] をクリックし、[フォーム コントロール] の ボタンの画像(コンボ ボックス) をクリックします。

    controls group

  3. ワークシートで、コンボ ボックスを配置するセルをクリックします (このセルは、表示されるコンボ ボックスの左上隅になります)。

    折りたたまれたテキスト ボックスにドロップダウン矢印が表示されます。

  4. テキスト ボックスを表示するには、左中央のサイズ変更ハンドルを右へドラッグします。

  5. [開発] タブの [コントロール] で ボタンの画像(プロパティ) をクリックします。

    ヒント   コントロールを右クリックし、[コントロールの書式設定] をクリックすることもできます。

    コントロールのプロパティを指定するには、次の操作を行います。

    1. [入力範囲] ボックスに、コンボ ボックスのドロップダウン リストに表示する値の格納範囲を指定するセル参照を入力します。

    2. [リンクするセル] ボックスに、コンボ ボックスのドロップダウン リストの選択を格納するセル参照を入力します。

      リンクされたセルは、コンボ ボックスのドロップダウン リストで選択された項目の番号を返します。選択範囲の最初の項目が返す値は 1、2 番目の項目が返す値は 2 のようになります。

      数式でこの番号を使用して、入力範囲から実際の項目を返します。たとえば、デザート メニュー フォームにセル C1 にリンクするコンボ ボックスがあり、リストの入力範囲は D1:D5、入力範囲内の各項目は "アイス クリーム" (D1)、"ケーキ" (D2)、"リキュール" (D3)、"キャンディ" (D4)、および "チョコレート" (D5) だとします。セル B1 に次の数式を入力したときに C1 の値が 3 の場合、コンボ ボックスの現在の選択に基づいて選択範囲 D1:D5 から "リキュール" が返されます。

=INDEX(D1:D5,C1)

  ユーザーがテキスト ボックスのテキストを編集できるコンボ ボックスを作成する場合は、ActiveX コンボ ボックス コントロールの使用をお勧めします。

  1. [ドロップダウン リストの行数] ボックスに、コンボ ボックスのドロップダウン リストに表示する行数を入力します。この値に応じて次のように処理されます。

    • 0 の場合、この値は無視され、1 として処理されます。

    • [入力範囲] ボックスに指定された範囲の項目数より少ない場合、スクロール バーが表示されます。

    • [入力範囲] ボックスに指定された範囲の項目数に等しいか多い場合、スクロール バーは表示されません。

ページの先頭へ

コンボ ボックスを追加する (ActiveX コントロール)

  1. [開発] タブが表示されていない場合は表示します。

    [開発] タブを表示する

    1. Office ボタンのイメージ(Microsoft Office ボタン) をクリックし、[Excel のオプション] をクリックします。

    2. [基本設定] の [Excel の使用に関する基本オプション] で、[[開発] タブをリボンに表示する] チェック ボックスをオンにし、[OK] をクリックします。

        リボンは、Microsoft Office Fluent ユーザー インターフェイスのコンポーネントです。

  2. [開発] タブの [コントロール] で [挿入] をクリックし、[ActiveX コントロール] の ボタンの画像(コンボ ボックス) をクリックします。

    controls group

  3. ワークシートで、コンボ ボックスを配置するセルをクリックします (このセルは、表示されるコンボ ボックスの左上隅になります)。

  4. ActiveX コントロールを編集するために、デザイン モードで作業していることを確認します。[開発] タブの [コントロール] で ボタンの画像(デザイン モード) をオンにします。

  5. コントロールのプロパティを指定するには、[開発] タブの [コントロール] で ボタンの画像(プロパティ) をクリックします。

    ヒント   コントロールを右クリックし、[プロパティ] をクリックすることもできます。

    [プロパティ] ダイアログ ボックスが表示されます。各プロパティの詳細を確認するには、プロパティを選択し、F1 キーを押して Visual Basic のヘルプ トピックを表示します。Visual Basic ヘルプの [検索] ボックスにプロパティ名を入力することもできます。用意されているプロパティの概要を次に示します。

    機能カテゴリ別のプロパティの概要

指定する対象

使用するプロパティ

全般:

ブックを開いたときにコントロールが読み込まれるかどうか (ActiveX コントロールの場合は無視されます)

AutoLoad (Excel)

コントロールがフォーカスを取得できるかどうか、およびユーザーの操作で発生したイベントに対して応答できるかどうか

Enabled (フォーム)

コントロールを編集できるかどうか

Locked (フォーム)

コントロールの名前

Name (フォーム)

コントロールとその下に位置するセルとの連結方法 (自由に移動できる、移動できるがサイズ変更できない、または移動もサイズ変更も可能)

Placement (Excel)

コントロールを印刷できるかどうか

PrintObject (Excel)

コントロールが表示されるかどうか

Visible (フォーム)

文字列:

選択範囲を広げるときの基本単位を単語にするか、文字にするか

AutoWordSelect (フォーム)

フォントの属性 (太字、斜体、サイズ、取り消し線、下線、および太さ)

BoldItalicSizeStrikeThroughUnderlineWeight (フォーム)

コントロールにフォーカスがないときでも、選択されている文字列を強調表示のままにしておくかどうか

HideSelection (フォーム)

Input Method Editor (IME) の既定の実行時モード

IMEMode (フォーム)

ユーザーが入力できる最大文字数

MaxLength (フォーム)

文字列の左側をクリックすることで、その文字列の行を選択できるかどうか

SelectionMargin (フォーム)

コントロール内の文字列

Text (フォーム)

コントロールの中で文字列をどのように配置するか (左、中央、または右)

TextAlign (フォーム)

データとバインド:

コントロールの値にリンクしている範囲

LinkedCell (Excel)

コントロールの内容または状態

Value (フォーム)

サイズと位置:

すべての内容が表示されるようにコントロールのサイズが自動的に調整されるかどうか

AutoSize (フォーム)

高さまたは幅 (ポイント単位)

HeightWidth (フォーム)

コントロールからワークシートの左端または上端までの距離

LeftTop (フォーム)

書式:

背景色

BackColor (フォーム)

背景のスタイル (透明または不透明)

BackStyle (フォーム)

枠線の色

BorderColor (フォーム)

枠線の種類 (なしまたは単一線)

BorderStyle (フォーム)

前景色

ForeColor (フォーム)

コントロールに影を適用するかどうか

Shadow (Excel)

枠線の外観 (なし、浮き出し、くぼみ、枠囲み、またはバンプ)

SpecialEffect (フォーム)

キーボードとマウス:

ユーザーが入力可能な最大文字数をコントロールに入力したとき、自動的に移動するかどうか

AutoTab (フォーム)

ドラッグ アンド ドロップ機能を有効にするかどうか

DragBehavior (フォーム)

コントロールを入力するときの選択動作 (すべて選択する、または選択しない)

EnterFieldBehavior (フォーム)

ユーザー設定のマウス アイコン

MouseIcon (フォーム)

特定のオブジェクトの上にマウスを置いたときに表示されるポインタの種類 (標準、矢印、I ビームなど)

MousePointer (フォーム)

コンボ ボックスに固有の機能:

複数の列のデータのソース

BoundColumn (フォーム)

表示する列の数

ColumnCount (フォーム)

列の見出しとしての単一の行

ColumnHeads (フォーム)

各列の幅

ColumnWidths (フォーム)

ドロップ ボタン上に表示する記号 (下向き矢印、通常、省略記号、またはアンダースコア)

DropButtonStyle (フォーム)

リストに値を読み込むために使用する範囲

ListFillRange (Excel)

リストに表示する行の最大数

ListRows (フォーム)

リストのスタイル (通常、オプション ボタン付き、またはチェック ボックス付き)

ListStyle (フォーム)

リストの幅

ListWidth (フォーム)

コントロールで、ユーザーの入力に基づいてリストの項目を検索する方法 (最初の文字と一致する項目を検索する、入力した文字とすべて一致する項目を検索する、またはマッチングを行わない)

MatchEntry (フォーム)

テキストとして入力した値が既存のリストのエントリと一致する必要があるかどうか

MatchRequired (フォーム)

ドロップ ボタンを表示するタイミング (表示しない、フォーカスがあるとき、または常時)

ShowDropButtonWhen (フォーム)

値の選択方法または設定方法 (ドロップダウン コンボまたはドロップダウン リスト)

Style (フォーム)

ユーザーが行を選択したときに Text プロパティに格納する列

TextColumn (フォーム)

リストの先頭に表示される項目

TopIndex (フォーム)

  

  • 列見出しのある 2 列のコンボ ボックスを作成するには、ColumnCount2ColumnHeadsTrueColumnWidths を各列の幅 (たとえば、72pt;72pt)、ListFillRange をリストの作成に使用する範囲 (たとえば、B1:C6)、BoundColumn を値を保存する列を示す 1 または 2TextColumn をコンボ ボックスのテキスト ボックス セクションに表示するデータの列 (BoundColumn と同じ値にすることも異なる値にすることもできます)、LinkedCell を選択した値が格納されているセル番地に設定します。既定では、列ラベルが列見出しとして使用されます (たとえば、列 B および列 C)。独自の列見出しを使用するときは、ListFillRange で指定された最初の値のすぐ上 (たとえば、B1 および C1) にその見出しを配置してから、[プロパティ] ダイアログ ボックスを閉じます。最後に、コンボ ボックスのサイズを調整して両方の列を表示します。

  • コンボ ボックスの一方の値を表示し、もう一方の値をリンク セルに保存するコンボ ボックスを作成するには、2 列のコンボ ボックスを作成し、ColumnWidths の値を 0 に設定して、列の 1 つを非表示にします。たとえば、1 つの列に祝日の名前を格納し、2 番目の列にその祝日の日付を格納する 2 列のコンボ ボックスを設定するとします。祝日の名前をユーザーに表示するには、最初の列を TextColumn として指定します。祝日の日付を格納するために、2 番目の列を BoundColumn として設定します。祝日の日付を非表示にするには、2 番目の列の ColumnWidths プロパティを 0 に設定します。

  • ユーザーが新しい値を入力できないコンボ ボックスを作成するには、Style2 に設定します。ユーザーがリストにない新しい値を入力できるコンボ ボックスを作成するには、Style を既定値の 1 に設定します。この場合、一覧の値を動的に更新するには VBA コードを記述する必要があります。

ページの先頭へ

適用対象: Excel 2007



この情報は役に立ちましたか?

はい いいえ

どのようにしたら改善できるでしょうか?

255 残りの文字数

お客様のプライバシーを保護するため、フィードバックには連絡先情報を含めないでください。 レビューしてください プライバシー ポリシー

ご意見をいただきありがとうございます。

サポート リソース

言語の変更