重要: この機能は、Windows RT PC 上の Office では利用できません。 使用している Office のバージョンを確認しますか?
フォームおよびそれに追加できる多くのコントロールとオブジェクトを使用することにより、ワークシートでのデータ入力をより簡単にし、ワークシートの表示方法を向上させることができます。 Microsoft Visual Basic for Applications (VBA) のコードをほとんど、またはまったく必要としないで、自身の操作でこれらのことを行うこともできます。
ワークシート フォームは、Excel テンプレートと同じものではありません。 テンプレートは、必要に応じて表示されるブックの作成を開始できる、事前に書式設定されたファイルです。 フォームには、ボックスやドロップダウン リストなどのコントロールが含まれています。これにより、ワークシートを使用するユーザーがデータを簡単に入力または編集できるようになります。 ダウンロードできるテンプレートの詳細については、「 Excel テンプレート」を参照してください。
フォームについて
フォームは、印刷済みでもオンラインでも、情報のキャプチャ、整理、編集を容易にする標準の構造と形式で設計されたドキュメントです。
-
印刷されたフォームには、データの書き込みまたは入力のための命令、書式設定、ラベル、空白文字が含まれています。 Excel テンプレートと Excel テンプレートを使用して、印刷されたフォームを作成できます。
-
オンライン フォームには、印刷フォームと同じ機能が含まれています。 さらに、オンライン フォームにはコントロールが含まれています。 コントロールは、データを表示したり、ユーザーがデータを入力または編集したり、アクションを実行したり、選択したりしやすくするオブジェクトです。 一般に、コントロールはフォームを使いやすくします。 一般的なコントロールの例としては、リスト ボックス、オプション ボタン、コマンド ボタンなどがあります。 またコントロールから、割り当てられているマクロを実行したり、Visual Basic for Applications (VBA) コードを実行することでマウス クリックなどのイベントに応答できます。
Excel を使用して、印刷フォームとオンライン フォームを作成できます。
Excel フォームの種類
データ フォーム、フォーム コントロールおよび ActiveX コントロールを含むワークシート、VBA のユーザー フォームなど、Excel で作成できるフォームには複数の種類があります。 各種類のフォームを単独で使用することも、さまざまな方法で組み合わせて目的に適したソリューションを作成することもできます。
データ フォーム
データ フォームでは、左右にスクロールすることなく、セル範囲やテーブル内の 1 行全体の情報を簡単に入力または表示できます。 データ列が多くて画面に収まらない場合、データ フォームを使用すると、列間を移動する必要がないため、簡単にデータを入力することができます。 列見出しをラベルとして一覧表示する単純な形式のテキスト ボックスで十分対応でき、リスト ボックスやスピン ボタンなどの高度なフォーム機能やカスタムのフォーム機能が不要な場合に、データ フォームを使用します。
Excel は、 範囲 または テーブルの組み込みデータ フォームを自動的に生成できます。 データ フォームでは、すべての列見出しがラベルとして 1 つのダイアログ ボックスに表示されます。 各ラベルの横には空のテキスト ボックスが表示され、そこに各列のデータを入力できます (最大で 32 列まで)。 データ フォームでは、新しい行を入力したり、移動して行を検索したり、(セルの内容に基づいて) 行を更新したり、行を削除したりできます。 セルに数式が含まれている場合、データ フォームには数式の結果が表示されますが、データ フォームを使用して数式を変更することはできません。
フォーム コントロールおよび ActiveX コントロールを含むワークシート
ワークシートは、グリッドにデータを入力して表示できるフォームの一種であり、コメントやデータ検証など、Excel ワークシートに既に組み込まれているコントロールのような機能がいくつかあります。 セルは、さまざまな方法で入力して書式設定できる のテキスト ボックスに似ています。 セルはラベルとして使用されることが多く、セルの高さと幅を調整し、セルを結合することで、ワークシートを単純なデータ入力フォームのように動作させることができます。 セルコメント、ハイパーリンク、背景画像、データ検証、条件付き書式、埋め込みグラフ、オートフィルターなどのコントロールに似たその他の機能では、ワークシートを高度なフォームのように動作させることができます。
柔軟性を高めるために、コントロールおよび他の描画オブジェクトをワークシートの描画キャンバスに追加し、ワークシートのセルと結合して連係させることができます。 たとえば、リスト ボックス コントロールを使用すると、項目を一覧から簡単に選択できるようになります。 また、スピン ボタン コントロールを使用すると、数字を簡単に入力できるようになります。
コントロールとオブジェクトは描画キャンバスに格納されるため、ワークシート上のグリッドまたはデータ テーブルのレイアウトを変更することなく、行と列の境界に依存しない関連するテキストと共にコントロールとオブジェクトを表示または表示できます。 ほとんどの場合、これらのコントロールの多くはワークシート上のセルにリンクすることもでき、VBA コードを使用する必要はありません。 コントロールが自由に浮動するか、セルと共に移動およびサイズ変更するかを決定するプロパティを設定できます。 たとえば、範囲が並べ替えられたときに、基になるセルと一緒に移動するチェック ボックスがあるとします。 ただし、常に特定の場所に保持するリスト ボックスがある場合は、基になるセルと一緒に移動したくない可能性があります。
Excel には、フォーム コントロールと ActiveX コントロールという 2 種類のコントロールがあります。 これらのコントロールのセットに加えて、 オートシェイプ、 ワードアート、SmartArt グラフィック、テキスト ボックスなど、描画ツールからオブジェクトを追加することもできます。
次のセクションでは、これらのコントロールと描画オブジェクトについて説明します。また、その使用方法についても詳しく説明します。
フォーム コントロール
フォーム コントロールは、以前のバージョンの Excel (Excel 5.0 以降) と互換性のある独自のコントロールです。 XLM マクロ シートでも使用できるように設計されています。
フォーム コントロールは、VBA コードを使用しないでセルのデータを簡単に参照および操作する場合や、コントロールをグラフ シートに追加する場合に使用します。 たとえば、リスト ボックス コントロールをワークシートに追加し、セルにリンクした後、コントロール内の選択した項目の現在位置の数値を返すことができます。 その数値を INDEX 関数と組み合わせて使用することで、一覧から別の項目を選択できます。
また、フォーム コントロールを使用してマクロを実行できます。 既存のマクロをコントロールに関連付けることも、新しいマクロを作成または記録することもできます。 フォームのユーザーがコントロールをクリックすると、マクロが実行されます。
ただし、これらのコントロールを UserForms に追加したり、イベントを制御したり、Web ページで Web スクリプトを実行するように変更したりすることはできません。
フォーム コントロールの概要
ボタン名 |
使用例 |
説明 |
|
---|---|---|---|
|
ラベル |
|
セルまたはテキスト ボックスの目的を示したり、説明のテキスト (タイトル、キャプション、図など) や簡単な指示を表示したりします。 |
|
グループ ボックス |
|
関連するコントロールを、省略可能なラベルを持つ四角形で囲まれた 1 つの視覚的な単位としてグループ化します。 通常は、オプション ボタン、チェック ボックス、または密接に関連するコンテンツをグループ化します。 |
|
ボタン |
|
ユーザーがクリックしたときに、アクションを実行するマクロを実行します。 ボタンはプッシュ ボタンとも呼ばれます。 |
|
チェック ボックス |
|
違いのはっきりとした選択肢を示す値を有効または無効にします。 1 つのワークシートまたはグループ ボックスで複数のチェック ボックスをオンにできます。 チェック ボックスには、オン (選択)、オフ (非選択)、および複合 (複数選択した場合のオンとオフの状態の組み合わせ) という 3 つの状態があります。 |
|
オプション ボタン |
|
相互に排他的な選択肢の限られたセット内で 1 つの選択を許可します。オプション ボタンは通常、グループ ボックスまたはフレームに含まれます。 オプション ボタンには、選択 (オン)、オフ (オフ)、混合の 3 つの状態のいずれかを使用できます。つまり、オンとオフの状態の組み合わせ (複数選択の場合と同様)。 オプション ボタンは、ラジオ ボタンとも呼ばれます。 |
|
リスト ボックス |
|
1 つまたは複数の文字列の項目の一覧が表示され、その一覧からユーザーが項目を選択できます。 リスト ボックスは、番号や内容が異なる選択肢を多数表示する場合に使用します。 3 種類のリスト ボックスがあります。
|
|
コンボ ボックス |
|
テキスト ボックスとリスト ボックスを組み合わせて、ドロップダウン リスト ボックスを作成します。 コンボ ボックスはリスト ボックスよりコンパクトですが、項目の一覧を表示するには下向き矢印をクリックする必要があります。 エントリを入力したり、一覧から 1 つの項目のみを選択したりするには、コンボ ボックスを使用します。 このコントロールでは、入力方法に関係なく、現在の値がテキスト ボックスに表示されます。 |
|
スクロール バー |
|
スクロール矢印をクリックするか、スクロール ボックスをドラッグすることにより、値の範囲をスクロールします。 さらに、一方のスクロール矢印とスクロール ボックスとの間の領域をクリックすることにより、(事前に設定した間隔で) ページ内を移動することもできます。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。 |
|
スピン ボタン |
|
数値の増分、時刻、日付などの値を増減します。 値を大きくするには、上矢印をクリックします。値を小さくするには、下矢印をクリックします。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。 |
ボタン名 |
---|
テキスト フィールド |
コンボ リスト - 編集 |
コンボ ドロップダウン - ダウン編集 |
実行ダイアログ |
ActiveX コントロール
ActiveX コントロールは、ワークシート フォーム (VBA コードを使用することもできます) および VBA のユーザー フォームで使用できます。 通常、フォーム コントロールよりも柔軟な設計要件が必要な場合に ActiveX コントロールを使用します。 ActiveX コントロールには、外観、動作、フォント、およびその他の特性をカスタマイズできる広範なプロパティがあります。
また、ActiveX コントロールを操作したときに発生するさまざまなイベントを制御することもできます。 たとえば、ユーザーがリスト ボックス コントロールから選択した項目に応じて異なるアクションを実行したり、ボタンをクリックしたときにデータベースを照会してコンボ ボックスの項目を変更したりできます。 また、ActiveX コントロールと関連付けられたイベントに応答するマクロを作成することもできます。 フォームでユーザーがコントロールを操作すると、VBA コードによって、そのコントロールに対して発生した任意のイベントの処理が実行されます。
また、コンピューターには、Excel や他のプログラムによってインストールされた多数の ActiveX コントロール (カレンダー コントロール 12.0、Windows Media Player など) が含まれています。
重要: すべての ActiveX コントロールをワークシートで直接使用できるわけではありません。一部は Visual Basic for Applications (VBA) UserForms でのみ使用できます。 これらの特定の ActiveX コントロールのいずれかをワークシートに追加しようとすると、"オブジェクトを挿入できません" というメッセージが表示されます。
ただし、ActiveX コントロールは、ユーザー インターフェイスからグラフ シートに追加したり、XLM マクロ シートに追加したりすることはできません。 また、フォーム コントロールと同じ方法で ActiveX コントロールから直接実行するマクロを割り当てることはできません。
ActiveX コントロールの概要
ボタン名 |
使用例 |
説明 |
|
---|---|---|---|
|
チェック ボックス |
|
違いのはっきりとした選択肢を示す値を有効または無効にします。 1 つのワークシートまたはグループ ボックスで複数のチェック ボックスを同時にオンにできます。 チェック ボックスには、オン (選択)、オフ (非選択)、および複合 (複数選択した場合のオンとオフの状態の組み合わせ) という 3 つの状態があります。 |
|
テキスト ボックス |
|
四角形のボックスで、セルにバインドされているテキストまたはデータを表示、入力、編集できます。 また、読み取り専用の情報を表示する静的なテキスト フィールドとして使用することもできます。 |
|
コマンド ボタン |
|
ユーザーがクリックしたときに、アクションを実行するマクロを実行します。 コマンド ボタンはプッシュ ボタンとも呼ばれます。 |
|
オプション ボタン |
|
通常、グループ ボックスまたはフレームに含まれる相互に排他的な選択肢の限られたセット内で 1 つの選択を許可します。 オプション ボタンには、選択 (オン)、オフ (オフ)、混合の 3 つの状態のいずれかを使用できます。つまり、オンとオフの状態の組み合わせ (複数選択の場合と同様)。 オプション ボタンは、ラジオ ボタンとも呼ばれます。 |
|
リスト ボックス |
|
1 つまたは複数の文字列の項目の一覧が表示され、その一覧からユーザーが項目を選択できます。 リスト ボックスは、番号や内容が異なる選択肢を多数表示する場合に使用します。 3 種類のリスト ボックスがあります。
|
|
コンボ ボックス |
|
テキスト ボックスとリスト ボックスを組み合わせて、ドロップダウン リスト ボックスを作成します。 コンボ ボックスはリスト ボックスよりコンパクトですが、項目の一覧を表示するには下向き矢印をクリックする必要があります。 エントリを入力したり、一覧から 1 つの項目のみを選択したりする場合に使用します。 このコントロールでは、入力方法に関係なく、現在の値がテキスト ボックスに表示されます。 |
|
トグル ボタン |
|
"はい/いいえ" などの状態、または "オン/オフ" などのモードを示します。 ボタンをクリックすると、有効な状態と無効な状態が入れ替わります。 |
|
スピン ボタン |
|
数値の増分、時刻、日付などの値を増減します。 値を大きくするには、上矢印をクリックします。値を小さくするには、下矢印をクリックします。 通常、ユーザーは、関連付けられているセルまたはテキスト ボックスにテキスト値を入力することもできます。 |
|
スクロール バー |
|
スクロール矢印をクリックするか、スクロール ボックスをドラッグすることにより、値の範囲をスクロールします。 さらに、一方のスクロール矢印とスクロール ボックスとの間の領域をクリックすることにより、(事前に設定した間隔で) ページ内を移動することもできます。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。 |
|
ラベル |
|
セルまたはテキスト ボックスの目的を示したり、説明のテキスト (タイトル、キャプション、図など) や簡単な指示を表示したりします。 |
|
画像 |
|
ビットマップ、JPEG、GIF などの画像を埋め込みます。 |
フレーム コントロール |
|
関連する複数のコントロールを 1 つの視覚的な単位としてグループ化した、省略可能なラベルを持つ四角形のオブジェクトです。 通常は、オプション ボタン、チェック ボックス、または密接に関連するコンテンツをフレーム コントロールにグループ化します。 注: ActiveX フレーム コントロールは、[挿入] コマンドの [ActiveX コントロール] セクションでは使用できません。 ただし、[コントロールの選択] ダイアログ ボックスで [Microsoft Forms 2.0 Frame] を選択すると、コントロールを追加できます。 |
|
|
コントロールの選択 |
カスタム フォームに追加でき、コンピューターで使用できる追加の ActiveX コントロール (カレンダー コントロール 12.0、Windows Media Player など) の一覧を表示します。 このダイアログ ボックスではカスタム コントロールを登録することもできます。 |
描画ツール オブジェクト
SmartArt グラフィック、図形、ワードアート、テキスト ボックスをフォームに含めることもできます。 これらのオブジェクトをサイズ変更、回転、反転、色付け、結合して、さらに複雑な図形を作成できます。 Shape オブジェクトまたはテキスト ボックス オブジェクトにテキストを直接入力すると、そのオブジェクトの一部になります。オブジェクトを回転または反転すると、テキストは回転または反転します。 ActiveX コントロールとは異なり、オブジェクト内の個々の単語や文字に、フォント サイズやフォント スタイルなどのさまざまな属性を割り当てることができます。 マクロを割り当て、これらのオブジェクトにハイパーリンクを追加することもできます。 Shape オブジェクトまたはテキスト ボックス オブジェクト内のテキストをワークシート セルにリンクし、それらのオブジェクトに更新された値を動的に表示することもできます。
ワークシート フォームでコントロールおよびオブジェクトを使用する
通常、ワークシート フォームにフォームや ActiveX を追加した場合は、優れたデザインの使いやすいフォームを作成するために、さまざまな方法でコントロールを微調整および整理する必要があります。 一般的な作業を次に示します。
-
コントロールを操作するときの枠線の表示を調整する。最終的なワークシート フォーム上でユーザーに対して枠線を表示するかどうかを決定する。
-
プロパティを指定したり、追加調整を行ったりできるように、コントロールを選択および選択解除する。
-
コントロール内のテキスト (キャプション、ラベルなど) を編集する。
-
コントロールのグループ化、コピー、移動、および位置揃えを行い、ワークシート フォームのレイアウトを整える。
-
目的の外観になるように、コントロールのサイズ変更および書式設定を行う。
-
コントロールの位置とサイズをセルに合わせて設定する。
-
特定のデータ保護要件に応じて、コントロールおよびリンクされたセルを保護する。
-
ワークシート フォームを印刷する場合、コントロールの印刷を有効または無効にする。
-
使用されていないコントロールを削除する。
ワークシート フォームでは、背景のセルの枠線の表示と非表示を切り替えることができます。 たとえば、セルの枠線を非表示にし、すべてのセルを同じ色やパターンで書式設定したり、シートの背景として図を使用したりできます。 グリッド線を非表示または表示するには、[ 表示 ] タブの [ 表示/非表示 ] グループで、[ グリッド線 ] チェック ボックスをオフまたは選択します。
ワークシート内のコントロールの種類を特定する
独自に変更できる 3 種類のコントロールとオブジェクトがあるので、外観だけではどの種類かわからないことがあります。 コントロールの種類 (フォームまたは ActiveX) を特定するには、コントロールを選択して右クリックし、ショートカット メニューを表示します。
-
ショートカット メニューに [プロパティ] が表示される場合、そのコントロールは ActiveX コントロールであり、デザイン モードになっています。
-
ショートカット メニューに [マクロの登録] が表示される場合、そのコントロールはフォーム コントロールです。
ヒント: グループ ボックス フォーム コントロールの正しいショートカット メニューを表示するには、グループ ボックスの内部ではなく境界を選択してください。
-
ショートカット メニューに [テキストの編集] が表示される場合、そのオブジェクトは描画オブジェクトです。
VBA のユーザー フォーム
柔軟性を最大限に高めるために、ユーザー フォーム (通常は 1 つ以上の ActiveX コントロールを含むカスタム ダイアログ ボックス) を作成できます。 Visual Basic エディターで作成した VBA コードから UserForms を使用できるようにします。 UserForm を作成するための大まかな手順は次のとおりです。
-
ブックの VBAProject にユーザー フォームを挿入します。 ブックの VBAProject にアクセスするには、まず Visual Basic エディターを表示し (Alt キーを押しながら F11 キーを押します)、[ 挿入 ] メニューの [ UserForm] をクリックします。
-
ユーザー フォームを表示するためのプロシージャを記述します。
-
ActiveX コントロールを追加します。
-
ActiveX コントロールのプロパティを変更します。
-
ActiveX コントロールのイベント ハンドラー プロシージャを記述します。
UserForms を使用すると、高度なフォーム機能を利用することもできます。 たとえば、プログラムでアルファベットの文字ごとに異なるオプション ボタンを追加したり、多数の日付と数字を含む一覧の項目ごとにチェック ボックスを追加したりできます。
UserForm を作成する前に、必要に応じて Excel から使用できる組み込みのダイアログ ボックスを使用することを検討してください。 これらの組み込みダイアログ ボックスには、VBA InputBox 関数と MsgBox 関数、Excel InputBox メソッド、 GetOpenFilename メソッド、 GetSaveAsFilename メソッド、 Application オブジェクトの Dialogs オブジェクトが含まれます。これには、組み込み Excel のすべてのダイアログ ボックスが含まれます。
詳細については、「Microsoft Office Excel デベロッパー ポータル」を参照してください。