フォームまたはコントロールボタンにマクロを割り当てる

フォームコントロールボタンまたはコマンドボタン (ActiveX コントロール) を使って、ユーザーがクリックしたときにアクションを実行するマクロを実行できます。 これらのボタンは、プッシュボタンとも呼ばれます。これは、ワークシートの印刷の自動化、データのフィルター処理、数値の計算などに使うように設定できます。 一般的に、フォームコントロールのボタンと ActiveX コントロールのコマンドボタンは、外観と機能に似ています。 ただし、次のセクションで説明するように、いくつかの違いがあります。

ボタン (フォームコントロール)

[フォーム] ツール バーのボタン コントロールの例

コマンドボタン (ActiveX コントロール)

ActiveX のコマンド ボタン コントロールの例

以下のセクションでは、Windows または Mac 用の Excel のボタンにマクロを追加する方法について説明します。

注: ActiveX コントロールは Mac ではサポートされていません。

マクロと VBA ツールは [開発] タブにあります。このタブは既定で非表示になっています。

最初の手順は、有効にすることです。 詳細については、記事「 [開発] タブを表示する」を参照してください。

リボンの [開発] タブ

ボタンを追加する (フォームコントロール)

  1. [開発] タブの [コントロール] で [挿入] をクリックし、[フォームコントロール] の [ ボタンの画像 ]をクリックします。

  2. ワークシートで、ボタンを配置するセルをクリックします (このセルは、表示されるボタンの左上隅に表示されます)。 [マクロの登録] ポップアップウィンドウが表示されます。

  3. ボタンにマクロを割り当てるには、[ OK] をクリックします。

  4. ボタンのコントロールプロパティを指定するには、ボタンを右クリックし、[コントロールの書式設定] をクリックします。

コマンドボタンを追加する (ActiveX コントロール)

  1. [開発] タブの [コントロール] で [挿入] をクリックし、[ ActiveX コントロール] の [ ボタンの画像 ]をクリックします。

  2. コマンドボタンの左上隅を表示するワークシートの場所をクリックします。

  3. [コントロール] で [コードの表示] をクリックします。 これにより、Visual Basic エディターが起動します。 右側のドロップダウンリストの[クリック]が選択されていることを確認します。 Sub procedure CommandButton1_Click (以下の図を参照) では、ボタンがクリックされると、次の2つのマクロが実行されます。されるHelloMessage

    Visual Basic Editor の Sub プロシージャ

  4. コマンドボタンのサブプロシージャで、次のいずれかの操作を行います。

    • ブック内の既存のマクロの名前を入力します。 マクロを検索するには、[コード] グループの [マクロ] をクリックします。 1つのボタンから複数のマクロを実行するには、サブプロシージャ内に別々の行にマクロ名を入力します。

    • 必要に応じて、独自の VBA コードを追加します。

  5. Visual Basic Editor を閉じて、デザインモードがオフになっていることを確認し ボタンの画像 [デザインモード] をクリックします。

  6. ボタンの一部となった VBA コードを実行するには、作成した ActiveX コマンドボタンをクリックします。

  7. ActiveX コントロールを編集するために、デザイン モードで作業していることを確認します。 [開発] タブの [コントロール] で [デザイン モード] をオンにします。

  8. コマンドボタンのコントロールプロパティを指定するには、[開発] タブの [コントロール] で、[ ボタンの画像 プロパティ] をクリックします。 コマンドボタンを右クリックし、[プロパティ] をクリックすることもできます。

    注: [プロパティ] をクリックする前に、プロパティを調査または変更するオブジェクトが選択されていることを確認します。


    [プロパティ] ボックスが表示されます。 各プロパティの詳細を確認するには、プロパティを選択し、F1 キーを押して Visual Basic のヘルプのトピックを表示します。 Visual Basic ヘルプの [検索] ボックスにプロパティ名を入力することもできます。 次の表は、利用可能なプロパティをまとめたものです。

指定する対象

使用するプロパティ

全般:

ブックを開いたときに、コントロールを読み込むかどうか。 (ActiveX コントロールでは無視されます)。

AutoLoad (Excel)

コントロールがフォーカスを受け取って、ユーザーによって生成されたイベントに応答できるかどうか

Enabled (フォーム)

コントロールを編集できるかどうか

Locked (フォーム)

コントロールの名前

Name (フォーム)

コントロールとその下に位置するセルとの連結方法 (自由に移動できる、移動できるがサイズ変更できない、または移動もサイズ変更も可能)

Placement (Excel)

コントロールを印刷できるかどうか

PrintObject (Excel)

コントロールが表示されるかどうか

Visible (フォーム)

文字列:

フォントの属性 (太字、斜体、サイズ、取り消し線、下線、および太さ)

Bold、Italic、Size、StrikeThrough、Underline、Weight (フォーム)

コントロールの上に表示する、コントロールを識別または説明するための説明テキスト

Caption (フォーム)

コントロールの内容を行の最後で自動的に折り返すかどうか

WordWrap (フォーム)

サイズと位置:

すべての内容が表示されるようにコントロールのサイズが自動的に調整されるかどうか

AutoSize (フォーム)

高さまたは幅 (ポイント単位)

Height、Width (フォーム)

コントロールからワークシートの左端または上端までの距離

Left、Top (フォーム)

書式:

背景色

BackColor (フォーム)

背景のスタイル (透明または不透明)

BackStyle (フォーム)

前景色

ForeColor (フォーム)

コントロールに影を適用するかどうか

Shadow (Excel)

イメージ:

コントロールに表示するビットマップ

Picture (フォーム)

ピクチャとキャプションとの相対的な位置関係 (左、上、右など)

PicturePosition (フォーム)

キーボードとマウス:

コントロールのショートカット キー

Accelerator (フォーム)

ユーザー設定のマウス アイコン

MouseIcon (フォーム)

ユーザーが特定のオブジェクトの上にマウスを置いたときに表示されるポインターの種類 (標準、矢印、I ビームなど)。

MousePointer (フォーム)

コントロールがクリックされたときにフォーカスを受け取るかどうか

TakeFocusOnClick (フォーム)


マクロと VBA ツールは [開発] タブにあります。このタブは既定で非表示になっているため、最初の手順は有効にします。

  1. Excel > の [環境設定] に移動します。>リボン & ツールバー

  2. [リボンのユーザー設定] カテゴリの [メイン タブ] の一覧で、[開発] チェック ボックスをオンにしてから、[保存] をクリックします。

    [開発] の横にあるチェックボックスをオンにしてリボンに追加します。

ボタンを追加する (フォームコントロール)

次の手順に従います。

  1. [開発] タブの [ ボタンの画像 ]をクリックします。

  2. ワークシートで、ボタンを配置するセルをクリックします (このセルは、表示されるボタンの左上隅に表示されます)。 [マクロの登録] ポップアップウィンドウが表示されます。

    注: 既にボタンを挿入している場合は、それを右クリックして、[マクロの登録] を選択します。

  3. ボタンにマクロを割り当て、[ OK]をクリックします。

  4. ボタンのコントロールプロパティを指定するには、ボタンを右クリックし、[コントロールの書式設定] を選択します。
     

コマンドボタンを追加する (Visual Basic コントロール)

  1. [開発] タブの [ ボタンの画像 ]をクリックします。

  2. ワークシートで、コマンドボタンの左上隅を表示する場所をクリックします。

    注: 既にボタンを挿入している場合は、それを右クリックして、[マクロの登録] を選択します。

  3. [マクロの登録] ダイアログボックスで、[新規] を選択します。これにより、 Visual Basic Editor (VBE) が次のコードでウィンドウに表示されます。

      Sub ButtonX_Click() 
    
      End Sub
  4. コマンドボタンのサブプロシージャで、 sub行とEnd sub行の間で、次のいずれかの操作を行います。

    • ブック内の既存のマクロの名前を入力します。 Sub プロシージャ内の別々の行にマクロ名を入力すると、1つのボタンから複数のマクロを実行できます。

    • 独自の VBA コードを追加します。

  5. [デザイン ボタンの画像 モード] をクリックしてデザインモードがオフになっていることを確認し、Visual Basic エディターウィンドウを閉じます。

  6. ボタンを編集するには、ボタンを右クリックし、[ Visual Basic] を選択します。

  7. ボタンのコントロールプロパティを指定するには、ボタンを右クリックし、[コントロールの書式設定] を選択します。

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

注:  このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 情報が役に立ったかどうか、ご意見をお寄せください。 参考までに、こちらから英語の記事をお読みいただけます。

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×