フォーム コントロール ボタンまたはコマンド ボタン (ActiveX コントロール) を使用して、ユーザーがクリックしたときにアクションを実行するマクロを実行できます。 どちらのボタンもプッシュ ボタンと呼ばれ、ワークシートの印刷、データのフィルター処理、数値の計算を自動化するように設定できます。 一般に、フォーム コントロール ボタンと ActiveX コントロール コマンド ボタンは外観と機能に似ています。 ただし、いくつかの違いがあります。これについては、次のセクションで説明します。
ヒント
この記事の情報は、高度な Excel ユーザーを対象としています。 マクロの詳細については、「 ワークシートのコントロールのマクロを追加または編集する」を参照してください。
ボタン (フォーム コントロール)
|
コマンド ボタン (ActiveX コントロール)
|
|---|
以下のセクションでは、Excel のボタン (Windows または Mac 用) にマクロを追加する方法について説明します。
注
ActiveX コントロールは Mac ではサポートされていません。
マクロと VBA ツールは、[ 開発者 ] タブにあります。既定では非表示になっています。
最初の手順では、有効にします。 詳細については、記事「 [開発者] タブを表示する」を参照してください。
ボタンを追加する (フォーム コントロール)
- [ 開発 ] タブの [ コントロール ] グループで [ 挿入] をクリックし、[ フォーム コントロール] の下の [ ボタン
] をクリックします。 - ワークシートで、ボタンを配置するセルをクリックします (このセルは、表示されるボタンの左上隅に表示されます)。 [ マクロの割り当て ] ポップアップ ウィンドウが表示されます。
- ボタンにマクロを割り当て、[OK] をクリック します。
- ボタンのコントロール プロパティを指定するには、ボタンを右クリックし、[ コントロールの書式設定] をクリックします。
コマンド ボタンを追加する (ActiveX コントロール)
[ 開発 ] タブの [ コントロール ] グループで [ 挿入] をクリックし、[ ActiveX コントロール] の下にある [ コマンド ボタン
] をクリックします。コマンド ボタンの左上隅を表示するワークシートの場所をクリックします。
[コントロール] グループ で 、[ コードの表示] をクリックします。 これにより、Visual Basic エディターが起動します。 右側のドロップダウン リストで [クリック] が選択されていることを確認します。 ボタン を クリックすると、次の 2 つのマクロ (下図を参照) がCommandButton1_Clickサブ プロシージャによって実行されます。 SelectC15 と HelloMessage。
コマンド ボタンのサブプロファイルで、次のいずれかの操作を行います。
- ブック内の既存のマクロの名前を入力します。 [コード] グループで [マクロ] をクリックすると、マクロを見つけることができます。 サブプロファイル内の個別の行にマクロ名を入力することで、ボタンから複数のマクロを実行できます。
- 必要に応じて、独自の VBA コードを追加します。
Visual Basic エディターを閉じ、[ デザイン モード
をクリックして、デザイン モードがオフになっていることを確認します。ボタンの一部である VBA コードを実行するには、先ほど作成した ActiveX コマンド ボタンをクリックします。
ActiveX コントロールを編集するために、デザイン モードで作業していることを確認します。 [開発] タブの [コントロール] で [デザイン モード] をオンにします。
コマンド ボタンのコントロール プロパティを指定するには、[ 開発 ] タブの [ コントロール ] グループで、[ プロパティ
をクリックします。 コマンド ボタンを右クリックし、[ プロパティ] をクリックすることもできます。注
[プロパティ] をクリックする前に、プロパティを調査または変更するオブジェクトが選択されていることを確認します。
[ プロパティ ] ボックスが表示されます。 各プロパティの詳細を確認するには、プロパティを選択し、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 (フォーム) |
補足説明
Excel Tech Community の専門家にいつでも依頼したり、コミュニティでサポートを受けたりすることができます。