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