Excelシートを更に便利にするフォームコントロール

2017.08.23関数その他

Excelには「フォームコントロール」という部品を挿入し、セルの数値と連携する機能があります。
このフォームコントロールを活用することで、一見設定が難しそうな操作画面も、VBAを使わずに実現することができます。
今回は、フォームコントロールの種類と、それぞれの使い方、設定方法を紹介します。

操作するファイルはこちらからダウンロードできます。

フォームとは

さて、フォームコントロールとはどんなものなのでしょうか。
1つ例を挙げて紹介します。
ダウンロードしたファイルの「フォームの利用」シートをご覧ください。

概要

 

E2からF12の範囲に商品の一覧表があります。
その商品名が、B2からC7に配置されているボックスの中に記載されています。
このボックスの中の「ブルゾン1」をクリックしてみましょう。

デモ

 

セルB9の値が、6になりました。
連動してセルC10にINDEX関数で6番目の商品名「ブルゾン1」が表示されます。
また、セルC11には、VLOOKUP関数でブルゾン1の価格「5,400」円が表示されます。

このボックスのことをフォームコントロールと呼びます。
フォームコントロールには、次のような種類があります。

種類

 

  • 下向き矢印をクリックすると一覧を表示する[コンボボックス]
  • 一覧の中から選択したい項目をクリックする[リストボックス]
  • 複数の選択肢の中からボタンをクリックして選択する[オプションボタン]
  • その項目をクリックしてON/OFFを切り替える[チェックボックス]
  • 数値を上下にスクロールできる[スクロールバー]
  • 数値の上下をクリックで指定する[スピンボタン]

準備

フォームコントロールは[開発]タブにあります。
しかし、Excelの初期状態では[開発]タブはありません。
まず、[開発]タブを表示します。

リボンのタブを右クリックし[リボンのユーザー設定]をクリックします。

表示

 

右のボックス内の[開発]にチェックを入れ[OK]ボタンをクリックしましょう。

表示

 

[開発]タブが表示されました。

開発

 

フォームコントロールは、[開発]タブの[挿入]ボタンをクリックして表示される[フォームコントール]の中に用意されています。

フォーム

 

※[フォームコントール]の下の[ActiveX]は主にVBAで操作します。

設定内容とコンボボックスの作成

コンボボックスを作りながら、フォームコントロールの設定内容を解説します。
ダウンロードしたファイルの「コンボボックス」シートを表示します。
[フォームコントール]の中の[コンボボックス]をクリックします。

コンボ

 

セルB2の中心からセルC3の中心までドラッグします。

ドラッグ

 

何も設定されていないコンボボックスが配置されます。
コンボボックスを右クリックし、[コントロールの書式設定]をクリックします。

コンボ

 

フォームコントロールの設定では[コントロール]タブの内容が重要です。
[コントロール]タブをクリックしましょう。

タブ

 

[入力範囲]は、コンボボックスの項目一覧です。
今回はE3からE12の商品名の一覧を指定するので、[入力範囲]をクリックし、E3からE12をドラッグして範囲を設定します。

コンボ

 

[リンクするセル]は、選択項目の番号をどこのセルに反映させるかを選択します。
今回はセルB5と連携するので、[リンクするセル]をクリックし、セルB5をクリックして設定します。

コンボ

 

[OK]ボタンをクリックします。
コンボボックスが選択されているので、一度関係ないセルをクリックしてコンボボックスの選択を外しましょう。
これでコンボボックスは完成です。

コンボボックスの中から任意の商品を選んで、その番号がセルB5に反映されることを確認しましょう。

コンボ

 

セルC6、C7にはあらかじめ計算式を設定しておいたので、商品の番号に対する名前と価格が表示されます。

リストボックスの作成

リストボックスを作成します。
ダウンロードしたファイルの「リストボックス」シートを表示します。
[フォームコントール]の中の[リストボックス]をクリックします。

リスト

 

セルB2の中心からセルC7の中心までドラッグします。

ドラッグ

 

何も設定されていないリストボックスが配置されます。
リストボックスを右クリックし、[コントロールの書式設定]をクリックします。

リスト

 

[コントロール]タブをクリックし、[入力範囲]をクリックし、E3からE12をドラッグして範囲を設定します。
[リンクするセル]は、セルB9をクリックして設定し[OK]ボタンをクリックします。

 

※選択の種類は初期設定のまま[単一選択]にします。リストボックスは複数の項目を選択できるフォームコントロールなのですが、単一選択以外はVBAで内容を読み取らないとできないのでワークシートでリストボックスのフォームコントロールを扱う場合は単一選択のみを選ぶようにしましょう。

 

リストボックスが選択されているので、一度関係ないセルをクリックしてリストボックスの選択を外しましょう。
これでリストボックスは完成です。

リストボックスの中から任意の商品を選んで、その番号がセルB9に反映されることを確認しましょう。

確認

 

セルC10、C11にはあらかじめ計算式を設定しておいたので、商品の番号に対する名前と価格が表示されます。

オプションボタンの作成

オプションボタンを作成します。
ダウンロードしたファイルの「オプションボタン」シートを表示します。

オプションボタンを作成時には、気を付けなければならないことがあります。
例えば、1シートの中で、選択肢が「キャベツ」「レタス」「きゅうり」「トマト」の中から1つを選ぶオプションボタンが1種類のみの場合は気にしなくてもよいのですが、1シートの中で前記の他に「みかん」「りんご」「なし」「バナナ」の内からも1つ選びたい場合、前者は「野菜」グループ、後者は「果物」グループから1つずつ選択することになります。
詳しい説明は後述しますが、このように選択するものが複数ある場合、グループに分ける設定が必要ということを覚えておいてください。

[フォームコントール]の中の[オプションボタン]をクリックします。

オプ

 

セルB3の右端あたりをクリックすると、そこを左端としたオプションボタンを挿入できます。

オプ

 

オプションボタンの文字は、ダブルクリックすることで削除、入力ができます。
「タコ」と入力しましょう。

オプ

 

タコのオプションボタンを右クリックし、[コントロールの書式設定]をクリックします。

オプ

 

[コントロール]タブをクリックし、[リンクするセル]をクリックして、セルF3をクリックして設定し[OK]ボタンをクリックします。

オプ

 

海のものグループにもう一つ「イカ」のオプションボタンを追加しますが、タコのオプションボタンをコピーして作成するとよいでしょう。
タコのオプションボタンを右クリックしてコピーし、セルB5くらいに貼り付け文字を「イカ」に変更します。

オプ

 

ここでグループの設定をします。
[フォームコントール]の中の[グループボックス]をクリックします。

オプ

 

2つのオプションボタンが囲まれるように、セルB2の左上端からセルD6の右下端までドラッグします。
意外とオプションボタンの範囲は大きいので、大きめに作成します。

オプ

 

グループボックスが配置されます。
このグループボックスで囲まれたものが1つのグループとなります。

グループボックスの文字は、ダブルクリックすることで削除、入力ができます。
「海のもの」と入力しましょう。

オプ

 

セルB8くらいに「わらび」という項目のオプションボタンを作成します。
この時、[コントロールの書式設定]で指定する[リンクするセル]はF8を設定してください。
さらに、そのオプションボタンをセルB10くらいにコピーして、文字を「ぜんまい」に変更します。

オプ

 

セルB7からB11の範囲に「山のもの」という文字のグループボックスを作成します。

オプ
 

これでオプションボタンは完成です。

それぞれのオプションボタンの中から任意の項目を選んで、その番号がセルF3、F8にそれぞれ反映されることを確認しましょう。

オプ

 

セルG5、G10にはあらかじめ計算式を設定しておいたので、番号に対する項目が表示されます。

チェックボックスの作成

ダウンロードしたファイルの「チェックボックス」シートを表示します。
オプションボタンは主にグループボックスの中で単一選択したい時に使用し、チェックボックスは複数選択したい時に使用することが一般的です。
空欄のチェックボックスをクリックすればそのチェックボックスにチェックが入り、チェックの入っているボックスをクリックするとチェックが外れ、その情報は任意のセルに、入っていればTRUE、入っていなければFALSEの値が記録されます。

[フォームコントール]の中の[チェックボックス]をクリックします。

チェ

 

セルB2をクリックします。

チェ

 

何も設定されていないチェックボックスが配置されます。
チェックボックスの文字は、ダブルクリックすることで削除、入力ができます。
「タコ」と入力しましょう。

チェ

 

チェックボックスを右クリックし、[コントロールの書式設定]をクリックします。

チェ

 

[コントロール]タブをクリックし、[リンクするセル]をクリックして、セルE2をクリックして設定し[OK]ボタンをクリックします。

チェ

 

同様に、セルB4に「イカ」のセルE4に連携するチェックボックスを作成、セルB5に「わらび」のセルE5に連携するチェックボックスを作成、セルB6に「ぜんまい」のセルE6に連携するチェックボックスを計3つ作成します。

チェ

 

これでチェックボックスは完成です。

任意の項目のチェックボックスのチェックを入れて、その対応するE2からE5までが、チェックが入ればTRUE、入っていなければFALSEになることを確認しましょう。

 

F2からF5の範囲にはあらかじめIF関数を設定しておいたので、チェックが入った場合に項目名が表示されます。

※IF関数の第一引数は通常「A1=1」のような比較演算式と入力しますが、今回の場合、TRUE自体が成立しているという意味、FALSE自体が成立していないという意味を持つため、比較演算式ではなく、TRUEとFALSEが入るセル1つだけを指定しています。

スクロールバーの作成

ダウンロードしたファイルの「スクロールバー」シートを表示します。
スクロールバーは、他のスクロールバーと同じ形のものを挿入できますが、その結果はスクロールではなく数値です。
上方向に移動すれば数字は少なく、下方向に移動すれば数字は増えます。
今回は単純な数字の上げ下げで、表示する行をどんどん変えていく仕組みの計算式をあらかじめ用意しました。
セルB3には、F3からF12の中から、セルA3の番号のものをINDEX関数で表示します。セルB4はセルA3に1を加算した番号、セルB5にはセルA3に2を加算した番号のものを表示します。
C3からC5にはそれぞれB列の商品名に対する価格をVLOOKUP関数で表示します。D3からD5にはB列の商品名に対する仕入れ額を表示します。
したがって、A3の値を2にすれば、F3からH12の商品一覧表の中から2行目から始まる3行だけを表示します。
このA3のセルの値を、スクロールバーを使って変更できれば、表示のスクロールが可能なのです。
スクロールの幅は1から8です。

ではスクロールバーを設定します。

[フォームコントール]の中の[スクロールバー]をクリックします。

スク

 

セルE3からセルE5の左側に縦長でドラッグします。

スク

 

スクロールバーが配置されます。
スクロールバーを右クリックし、[コントロールの書式設定]をクリックします。

スク

 

[コントロール]タブをクリックし、[最小値]をクリックし「1」、[最大値]をクリックし「8」に設定します。
[リンクするセル]は、セルA3をクリックして設定し[OK]ボタンをクリックします。

スク

 

※「現在値」は今の値で、実際に操作すると変わりますので設定は不要です。「変化の増分」はスクロールバーの上下の矢印をクリックしたときの増減する値、「スクロールバー」のシャフトの増分はスクロールバーの上下の矢印以外の部分をクリックしたときに増減する値です。

スクロールバーが選択されているので、一度関係ないセルをクリックしてスクロールバーの選択を外しましょう。

これでスクロールバーは完成です。

スクロールして、その番号がセルA3に反映されることを確認し、商品一覧表3行だけがスクロール表示されることを確認しましょう。

スク

スピンボタンの作成

ダウンロードしたファイルの「スピンボタン」シートを表示します。
スピンボタンは、スクロールバーに似ていますが、増減をスクロールできるバーがなく、矢印だけのものです。
スクロールバーと違って、上方向に移動すれば数字は多く、下方向に移動すれば数字は少なくなります。
「スピンボタン」シートにもスクロールバーと同じく、このA3のセルの値を変更すれば、表示のスクロールが可能な計算式を用意しました。
ただし、増減の方向が上下逆のため、B3からB5のINDEX関数の番号は、1つめは9から、2つめは10から、3つめは11からそれぞれA3の値を引くようにしています。
セルA3の値を動かす幅は1から8で、8のときに1つめの商品を表示します。

ではスピンボタンを設定します。

[フォームコントール]の中の[スピンボタン]をクリックします。

スピ

 

セルE3からセルE5の左側に縦長でドラッグします。

スピ

 

スピンボタンが配置されます。
スピンボタンを右クリックし、[コントロールの書式設定]をクリックします。

スピ

 

[コントロール]タブをクリックし、[最小値]をクリックし「1」、[最大値]をクリックし「8」に設定します。
[リンクするセル]は、セルA3をクリックして設定し[OK]ボタンをクリックします。

スピ

 

スピンボタンが選択されているので、一度関係ないセルをクリックしてスピンボタンの選択を外しましょう。
これでスピンボタンは完成です。

スクロールバーして、その番号がセルA3に反映されることを確認し、商品一覧表3行だけがスクロール表示されることを確認しましょう。

スピ

 

※スクロールバーは横長にすれば横方向にスクロールしますが、スピンボタンは縦長にしかできません。

その他のフォーム

上記以外のフォームについて簡単に紹介します。

ラベル

タイトルや項目名などの文字を配置します。テキストボックスに似ています。

ボタン

マクロを起動できるボタンを配置できます。

Back to top