重要: この機能は、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 つの項目のみを選択したりするには、コンボ ボックスを使用します。 このコントロールでは、入力方法に関係なく、現在の値がテキスト ボックスに表示されます。 |
|
スクロール バー |
|
スクロール矢印をクリックするか、スクロール ボックスをドラッグすることにより、値の範囲をスクロールします。 さらに、一方のスクロール矢印とスクロール ボックスとの間の領域をクリックすることにより、(事前に設定した間隔で) ページ内を移動することもできます。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。 |
|
スピン ボタン |
|
数値の増分、時刻、日付などの値を増減します。 値を大きくするには、上向き矢印をクリックします。値を小さい場合は、下向き矢印をクリックします。 通常は、関連付けられたセルまたはテキスト ボックスに文字列値を直接入力することもできます。 |
注: 次のコントロールは、ブック Office Excel 2007 できません。 これらのコントロールは、バージョン Excel 5.0 ダイアログ シートでのみ使用できます。
ボタン名 |
---|
|
|
|
|
ActiveX コントロール
ActiveX コントロールは、ワークシート フォーム (VBA コードを使用することもできます) および VBA のユーザー フォームで使用できます。 通常、フォーム コントロールよりも柔軟な設計要件が必要な場合に ActiveX コントロールを使用します。 ActiveX コントロールには、外観、動作、フォント、およびその他の特性をカスタマイズできる広範なプロパティがあります。
また、ActiveX コントロールを操作したときに発生するさまざまなイベントを制御することもできます。 たとえば、ユーザーがリスト ボックス コントロールから選択した項目に応じて異なるアクションを実行したり、ボタンをクリックしたときにデータベースを照会してコンボ ボックスの項目を変更したりできます。 また、ActiveX コントロールと関連付けられたイベントに応答するマクロを作成することもできます。 フォームでユーザーがコントロールを操作すると、VBA コードによって、そのコントロールに対して発生した任意のイベントの処理が実行されます。
また、コンピューターには、Excel や他のプログラムによってインストールされた多数の ActiveX コントロール (カレンダー コントロール 12.0、Windows Media Player など) が含まれています。
重要: すべてのコントロールActiveXワークシートで直接使用できる場合があります。一部のユーザーは、Visual Basic for Applications (VBA) UserForms でのみ使用できます。 これらの特定のコントロールのいずれかをワークシートに追加ActiveX、"オブジェクトExcel挿入できません" というメッセージが表示されます。
ただし、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 グラフィック、図形、ワードアート、テキスト ボックスをフォームに追加することもできます。 これらのオブジェクトのサイズ変更、回転、反転、色付け、結合を行って、さらに複雑な図形を作成できます。 図形オブジェクトまたはテキスト ボックス オブジェクトに直接テキストを入力すると、そのオブジェクトの一部になります。オブジェクトを回転または反転すると、テキストはオブジェクトと一緒に回転または反転します。 コントロールActiveXとは異なり、フォント サイズやフォント スタイルなど、さまざまな属性をオブジェクト内の個々の単語や文字に割り当てできます。 マクロを割り当て、これらのオブジェクトにハイパーリンクを追加することもできます。 図形オブジェクトまたはテキスト ボックス オブジェクト内のテキストをワークシートのセルにリンクし、それらのオブジェクトに更新された値を動的に表示することもできます。
ワークシート フォームでコントロールおよびオブジェクトを使用する
通常、ワークシート フォームにフォームや ActiveX を追加した場合は、優れたデザインの使いやすいフォームを作成するために、さまざまな方法でコントロールを微調整および整理する必要があります。 一般的な作業を次に示します。
-
コントロールを操作するときの枠線の表示を調整する。最終的なワークシート フォーム上でユーザーに対して枠線を表示するかどうかを決定する。
-
プロパティを指定したり、追加調整を行ったりできるように、コントロールを選択および選択解除する。
-
コントロール内のテキスト (キャプション、ラベルなど) を編集する。
-
コントロールのグループ化、コピー、移動、および位置揃えを行い、ワークシート フォームのレイアウトを整える。
-
目的の外観になるように、コントロールのサイズ変更および書式設定を行う。
-
コントロールの位置とサイズをセルに合わせて設定する。
-
特定のデータ保護要件に応じて、コントロールおよびリンクされたセルを保護する。
-
ワークシート フォームを印刷する場合、コントロールの印刷を有効または無効にする。
-
使用されていないコントロールを削除する。
ワークシート フォームでは、背景のセルの枠線の表示と非表示を切り替えることができます。 たとえば、セルの枠線を非表示にし、すべてのセルを同じ色やパターンで書式設定したり、シートの背景として図を使用したりできます。 枠線を非表示または表示するには、[表示]タブの [表示/非表示] グループで、[枠線] チェック ボックスをオフまたはオンにします。
ワークシート内のコントロールの種類を特定する
独自に変更できる 3 種類のコントロールとオブジェクトがあるので、外観だけではどの種類かわからないことがあります。 コントロールの種類 (フォームまたは ActiveX) を特定するには、コントロールを選択して右クリックし、ショートカット メニューを表示します。
-
ショートカット メニューに [プロパティ] が表示される場合、そのコントロールは ActiveX コントロールであり、デザイン モードになっています。
-
ショートカット メニューに [マクロの登録] が表示される場合、そのコントロールはフォーム コントロールです。
ヒント: グループ ボックスの [フォーム] コントロールの正しいショートカット メニューを表示するには、グループ ボックスの内側ではなく境界を選択してください。
-
ショートカット メニューに [テキストの編集] が表示される場合、そのオブジェクトは描画オブジェクトです。
VBA のユーザー フォーム
柔軟性を最大限に高めるには、カスタム ダイアログ ボックスである UserForms を作成できます。このダイアログ ボックスには通常、1 つ以上のカスタム コントロールActiveXがあります。 UserForms は、エディターで作成した VBA コードからVisual Basicします。 UserForm を作成するための大きな手順は次のとおりです。
-
ブックの VBAProject にユーザー フォームを挿入します。 ブックの VBAProject にアクセスするには、まず Visual Basic エディターを表示し (Alt キーを押しながら F11 キーを押します)、[挿入] メニューの [ユーザー フォーム] をクリックします。
-
ユーザー フォームを表示するためのプロシージャを記述します。
-
ActiveX コントロールを追加します。
-
ActiveX コントロールのプロパティを変更します。
-
ActiveX コントロールのイベント ハンドラー プロシージャを記述します。
UserForms を使用すると、高度なフォーム機能を利用できます。 たとえば、プログラムでアルファベットの文字ごとに異なるオプション ボタンを追加したり、多数の日付と数字を含む一覧の項目ごとにチェック ボックスを追加したりできます。
UserForm を作成する前に、ニーズに合ったExcel組み込みのダイアログ ボックスの使用を検討してください。 これらの組み込みダイアログ ボックスには、VBA InputBox関数とMsgBox関数、Excel InputBoxメソッド、GetOpenFilenameメソッド、GetSaveAsFilenameメソッド、およびすべての組み込み Excel ダイアログ ボックスを含むApplicationオブジェクトの Dialogs オブジェクトが含まれます。
詳細については、「Microsoft Office Excel デベロッパー ポータル」を参照してください。