0o0dグッ

フォーム コントロールの使い方

これらのキーワードがハイライトされています:フォント

フォーム コントロールの使い方

Excel2007(エクセル2007)基本講座:フォーム
コントロールの使い方

Excel2007ではフォームは開発タブから利用できます。
このページはフォームコントロールの使い方を説明しています。

開発タブを表示する

Officeボタンをクリックし、[Excelのオプション]ボタンをクリックします。
[基本設定]の「[開発]タブをリボンに表示する」にチェックを入れます。

画像の説明
[開発]タブの[コントロール]グループにある[挿入]から[フォームコントロール]を選択できます。

画像の説明

フォームについて

チェックボックスやオプションボタンなどをシートに貼付けて利用する方法の一例です。

ActiveX コントロールにも同じようなボタンがありますが、ここで使用するのはフォーム コントロールです。

【完成例】

C:G列にチェックボタンなどの入力値を選択して、[入力]ボタンでSheet2へ入力します。

A:B列は作業列として使用しています。これらはマクロでの処理を極力簡易にするためにシートでほとんどの処理をしています。

画像の説明

オプションボタン   

複数の選択肢から 1 つだけを選択するときに使用します。
グループボックスを利用してグループ別に制御することが出来ます。
【操作方法】

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[オプションボタン]を選択します。

画像の説明

シート内をクリックすると、オプションボタンが配置されます。

画像の説明

文字部分をクリックして、カーソルを表示すれば文字を修正できます。

例ではオプションボタンを2個配置し、「男性」「女性」に変更しました。

画像の説明

この2つのオプションボタンで1セットになるのでグループ化します。
[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[グループボックス]を選択します。
オプションボタン2個を囲むように配置します。

画像の説明

オプションボタンの書式設定をします。

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

画像の説明

リンクするセルに「B3」セルを指定します。

女性の方のオプションボタンはグループ化されているので、自動的に「B3」に設定されます。
オプションボタンのON,OFFの状態をB3セルに入力するということです。

ここの例では2こ配置していますので、どちらがONになっているか数値が入力されます。
男性なら1,女性なら2となります。

画像の説明

同様に年齢の区分をオプションボタンで作成します。
リンクするセルはB6とします。
グループボックスの名前を「性別」「年齢」にそれぞれ書き換えます。

画像の説明

チェックボックス

オプションのONとOFFを切り替えます。

チェックが入っている時はTRUE、入っていない時はFALSEが返ります。

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[チェックボタン]を選択し、シート内へ配置します。

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

リンクするセルはB8とします。

画像の説明

スピンボタン   

値を増減することが出来ます。

上向きの矢印をクリックすると値が増加し、下向きの矢印をクリックすると値が減少します。

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[スピンボタン]を選択し、シート内へ配置します。

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

現在値6,最小値1,最大値12,変化の増分1,リンクするセルD11とします。

画像の説明

D11セルを選択し、[ホーム]タブの[表示形式]→[その他の表示形式]からユーザー定義で「0"月"」とし、中央揃えにしました。

画像の説明

スピンボタンでは最小値と最大値は0~30000の範囲が設定できます。
基準を本日「TODAY()」にして、スピンボタンで日付を上げ下げするには?

スピンボタンをC2セルに配置します。

スピンボタンの書式設定を現在値:15000、最小値:0、最大値:30000、変化の増分:1、リンクするセル:A2 とします。

表示するB2セルには=TODAY()+A2-15000 と入力します。

B2セルの表示形式は「長い日付形式」にしています。

これで、スピンボタンの上下でA2の値が上下し、これに連動してB2の日付も上下します。

画像の説明

コンボボックス

ドロップダウン リスト ボックスに項目が表示でき、選択した項目の番号が返されます。

表示するリストをH13:H20に入力しておきます。

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[コンボボックス]を選択し、シート内へ配置します。(例ではD13セルの付近へ配置しています)。

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

入力範囲H13:H20,リンクするセルB14,ドロップダウンリストの行数8とします。

画像の説明

リストボックス   

リストを表示し、選択した項目の番号が返されます。

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[リストボックス]を選択し、シート内へ配置します。

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

入力範囲H13:H20,リンクするセルB17,選択の種類を「単一選択」とします。

画像の説明

ボタン

リストを表示し、選択した項目の番号が返されます。

【操作手順】

[開発]タブの[コントロール]グループにある[挿入]を選択して、フォームコントロールの[ボタン]を選択し、シート内へ配置します。

ボタン内の文字列を「入力」と書き換えます。

画像の説明

マクロの登録ダイアログが表示されますが、この段階では登録しないので「キャンセル」ボタンで閉じます。

数式の設定   

B列に返された値をマクロのコードでそれぞれの値に変換しても良いのですが、ここでは理解しやすくするためにシート内で処理します。

A3セル「性別」はB3の値が1なら男性、2なら女性となるようにします。
=CHOOSE(B3,"男性","女性") または=IF(B3=1,"男性","女性")

A6セル「年齢」は同様に=CHOOSE(B6,"10~29歳","30~49歳","50歳以上")
A8セル「振込済み」は=IF(B8,"済","未")
A11セル「誕生月」は=D11
A14セル「第1希望」は=INDEX($H$13:$H$20,B14)
A17セル「第2希望」は=INDEX($H$13:$H$20,B17)

としました。
フォームコントロールでの選択結果がA列に返されるようになりました。

画像の説明

シートへの入力マクロ   

[Alt]+[F11]でVBEを開き、標準モジュールを挿入します。

画像の説明

標準モジュールに下記のようなコードを入力します。
A列に数式で値を返しているので、単純にA列の値をシート2へ入力するコードにしています。

画像の説明

このマクロを「入力」ボタンに登録します。

「入力」ボタンを右クリックし、右クリックメニューの「マクロの登録」を選択します。

マクロの選択でマクロ「入力」を選択肢[OK]ボタンをクリックします。

画像の説明

各項目を選択して「入力」ボタンをクリックすると、Sheet2へは下図のように入力されます。

画像の説明

セルの書式を整える

[ホーム]タブの[塗りつぶしの色]でC2:G19セルをグレーに塗りつぶしてみました。

また、[正方形/長方形]で塗りつぶしなしで枠線のみを描画し影の効果を付けてみました。

画像の説明

A:B,H列が目障りなのでフォントの色を「白」にすれば見えなくなります。

画像の説明