ワークシートのフォーム、フォーム コントロール、ActiveX コントロールの概要

適用先
Excel for Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

重要

この機能は、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 スクリプトを実行するように変更したりすることはできません。

フォーム コントロールの概要

ボタン名 使用例 説明
ボタンの画像 ラベル フォームのラベル コントロールの例
ボタンの画像 グループ ボックス [フォーム] ツール バーのグループ ボックス コントロールの例
ボタンの画像 ボタン [フォーム] ツール バーのボタン コントロールの例
ボタンの画像 チェック ボックス [フォーム] ツール バーのチェック ボックス コントロールの例
ボタンの画像 オプション ボタン [フォーム] オプション ボタン コントロールの例
ボタンの画像 リスト ボックス フォームのリスト ボックス コントロールの例
ボタンの画像 コンボ ボックス フォームのコンボ ボックス コントロールの例
ボタンの画像 スクロール バー [フォーム] ツール バーのスクロール バー コントロールの例
ボタンの画像 スピン ボタン [フォーム] ツール バーのスピン ボタン コントロールの例
ボタン名
ボタンイメージ テキストフィールド
ボタン画像 コンボリスト - 編集
ボタン画像 コンボドロップ - ダウン編集
ボタン イメージ の [実行] ダイアログ

ActiveX コントロール

ActiveX コントロールは、ワークシート フォーム (VBA コードを使用することもできます) および VBA のユーザー フォームで使用できます。 通常、フォーム コントロールよりも柔軟な設計要件が必要な場合に ActiveX コントロールを使用します。 ActiveX コントロールには、外観、動作、フォント、およびその他の特性をカスタマイズできる広範なプロパティがあります。

また、ActiveX コントロールを操作したときに発生するさまざまなイベントを制御することもできます。 たとえば、ユーザーがリスト ボックス コントロールから選択した項目に応じて異なるアクションを実行したり、ボタンをクリックしたときにデータベースを照会してコンボ ボックスの項目を変更したりできます。 また、ActiveX コントロールと関連付けられたイベントに応答するマクロを作成することもできます。 フォームでユーザーがコントロールを操作すると、VBA コードによって、そのコントロールに対して発生した任意のイベントの処理が実行されます。

コンピューターには、Excel やその他のプログラム (Windows メディア プレーヤーなど) によってインストールされた多くの ActiveX コントロールも含まれています。

重要

すべての ActiveX コントロールをワークシートで直接使用できるわけではありません。一部は、Visual Basic for Applications (VBA) UserForms でのみ使用できます。 これらの特定の ActiveX コントロールのいずれかをワークシートに追加しようとすると、"オブジェクトを挿入できません" というメッセージが表示されます。

ただし、ActiveX コントロールは、ユーザー インターフェイスからグラフ シートに追加したり、XLM マクロ シートに追加したりすることはできません。 また、フォーム コントロールと同じ方法で ActiveX コントロールから直接実行するマクロを割り当てることはできません。

ActiveX コントロールの概要

ボタン名 使用例 説明
ボタンの画像 チェック ボックス ActiveX のチェック ボックス コントロールの例
ボタンの画像 テキスト ボックス ActiveX のテキスト ボックス コントロールの例
ボタンの画像 コマンド ボタン ActiveX のコマンド ボタン コントロールの例
ボタンの画像 オプション ボタン ActiveX のオプション ボタン コントロールの例
ボタンの画像 リスト ボックス ActiveX のリスト ボックス コントロールの例
ボタンの画像 コンボ ボックス ActiveX のコンボ ボックス コントロールの例
ボタンの画像 トグル ボタン ActiveX のトグル ボタン コントロールの例
ボタンの画像 スピン ボタン ActiveX のスピン ボタン コントロールの例
ボタンの画像 スクロール バー ActiveX のスクロール バー コントロールの例
ボタンの画像 ラベル ActiveX のラベル コントロールの例
ボタンの画像 画像 ActiveX のイメージ コントロールの例
フレーム コントロール ActiveX グループ ボックス コントロールの例
ボタンの画像 コントロールの選択

描画ツール オブジェクト

図形の例 また、SmartArt グラフィックス、図形、ワードアート、テキスト ボックスをフォームに含めることもできます。 これらのオブジェクトをサイズ変更、回転、反転、色付け、結合して、さらに複雑な図形を作成できます。 Shape オブジェクトまたはテキスト ボックス オブジェクトにテキストを直接入力すると、テキストはそのオブジェクトの一部になります。オブジェクトを回転または反転すると、テキストは回転または反転します。 ActiveX コントロールとは異なり、オブジェクト内の個々の単語や文字に、フォント サイズやフォント スタイルなどのさまざまな属性を割り当てることができます。 マクロを割り当て、これらのオブジェクトにハイパーリンクを追加することもできます。 Shape オブジェクトまたはテキスト ボックス オブジェクト内のテキストをワークシート セルにリンクし、それらのオブジェクトに更新された値を動的に表示することもできます。

ワークシート フォームでコントロールおよびオブジェクトを使用する

通常、ワークシート フォームにフォームや ActiveX を追加した場合は、優れたデザインの使いやすいフォームを作成するために、さまざまな方法でコントロールを微調整および整理する必要があります。 一般的な作業を次に示します。

  • コントロールを操作するときの枠線の表示を調整する。最終的なワークシート フォーム上でユーザーに対して枠線を表示するかどうかを決定する。
  • プロパティを指定したり、追加調整を行ったりできるように、コントロールを選択および選択解除する。
  • コントロール内のテキスト (キャプション、ラベルなど) を編集する。
  • コントロールのグループ化、コピー、移動、および位置揃えを行い、ワークシート フォームのレイアウトを整える。
  • 目的の外観になるように、コントロールのサイズ変更および書式設定を行う。
  • コントロールの位置とサイズをセルに合わせて設定する。
  • 特定のデータ保護要件に応じて、コントロールおよびリンクされたセルを保護する。
  • ワークシート フォームを印刷する場合、コントロールの印刷を有効または無効にする。
  • 使用されていないコントロールを削除する。

ワークシート フォームでは、背景のセルの枠線の表示と非表示を切り替えることができます。 たとえば、セルの枠線を非表示にし、すべてのセルを同じ色やパターンで書式設定したり、シートの背景として図を使用したりできます。 枠線の表示と非表示を切り替えるには、[表示] タブの [表示] で、[枠線] チェック ボックスをオフまたはオンにします。

ワークシート内のコントロールの種類を特定する

独自に変更できる 3 種類のコントロールとオブジェクトがあるので、外観だけではどの種類かわからないことがあります。 コントロールの種類 (フォームまたは ActiveX) を特定するには、コントロールを選択して右クリックし、ショートカット メニューを表示します。

  • ショートカット メニューに [プロパティ] が表示される場合、そのコントロールは ActiveX コントロールであり、デザイン モードになっています。

  • ショートカット メニューに [マクロの登録] が表示される場合、そのコントロールはフォーム コントロールです。

    ヒント

    グループ ボックス フォーム コントロールの正しいショートカット メニューを表示するには、グループ ボックスの内部ではなく境界を選択してください。

  • ショートカット メニューに [テキストの編集] が表示される場合、そのオブジェクトは描画オブジェクトです。

VBA のユーザー フォーム

柔軟性を最大限に高めるために、ユーザー フォーム (通常は 1 つ以上の ActiveX コントロールを含むカスタム ダイアログ ボックス) を作成できます。 Visual Basic エディターで作成した VBA コードから UserForms を使用できるようにします。 UserForm を作成するための大まかな手順は次のとおりです。

セキュリティ上の理由から ActiveX コントロールが無効になっており、新しいバージョンの Excel では機能しません。

  1. ブックの VBAProject にユーザー フォームを挿入します。 ブックの VBAProject にアクセスするには、まず Visual Basic エディターを表示し (Alt キーを押しながら F11 キーを押します)、[ 挿入 ] メニューの [ UserForm] をクリックします。
  2. ユーザー フォームを表示するためのプロシージャを記述します。
  3. ActiveX コントロールを追加します。
  4. ActiveX コントロールのプロパティを変更します。
  5. ActiveX コントロールのイベント ハンドラー プロシージャを記述します。

ユーザー フォームを使用すると、高度なフォーム機能を利用することもできます。 たとえば、プログラムでアルファベットの文字ごとに異なるオプション ボタンを追加したり、多数の日付と数字を含む一覧の項目ごとにチェック ボックスを追加したりできます。

UserForm を作成する前に、必要に応じて Excel から使用できる組み込みのダイアログ ボックスを使用することを検討してください。 これらの組み込みダイアログ ボックスには、VBA InputBox 関数と MsgBox 関数、Excel InputBox メソッド、 GetOpenFilename メソッド、 GetSaveAsFilename メソッド、 Application オブジェクトの Dialogs オブジェクトが含まれます。これには、組み込み Excel のすべてのダイアログ ボックスが含まれます。

詳細については、 Microsoft Office Excel デベロッパー センターを参照してください。

ページの先頭へ