マクロを実行するボタンを作ってみよう
今までは作成したマクロを実行するために、Altキーを押しながらF8キーを押すか、メニューの「ツール」−「マクロ」−「マクロ」とクリックするかして「マクロ」ダイアログを表示させ、その中の実行したいマクロを選んで実行させてきました。しかしそれだとわずらわしくて面倒です。

ここではワークシートの上に、マクロを実行するためのコマンドボタンを配置し、それをクリックするだけでマクロが実行されるようにしてみましょう。

ワークシート上にコマンドボタンを作成する方法には、次の2通りの方法があります。
1)実行するマクロを直接指定してコマンドボタンを作成する方法。
2)コマンドボタンを作成し、マクロを実行するためのコードを記述する方法。

1)と2)の方法を聞いてもよくわからないと思いますが、とにかく自分で作ってみましょう。
それでは、以前に「(32)簡単なマクロを作ってみよう」で作成して保存しておいた、「こんにちは」とセルに入力するためのマクロのある「Book1」を開いてください。



実行するマクロを直接指定してコマンドボタンを作成する方法

@Excel2000,2002,2003の場合
   「フォーム」ツールバーの「ボタン」をクリックします。

        

  Excel2007,2010の場合
   クイックアクセスツールバーの「コントロールの挿入」ボタンをクリックし、フォームコントロールにある「ボタン」をクリックします。ます。

        

Aマウスポインタが十字に変化したのを確認して、ボタンを配置したい範囲を左上から右下にドラッグします。今回はセルB2に「こんにちは」と入力するマクロなので、セルB2が隠れない位置にボタンを配置するようにしましょう。



Bマウスのボタンを離すと、シートの上にボタンが作成され、「マクロの登録」ダイアログボックスが表示されるので、実行したいマクロ名を選択して、「OK」をクリックします。



C任意のセルをクリックして、ボタンが選択されている状態を解除します。



D作成したボタンをクリックすると、マクロが実行されて、セルB2に「こんにちは」と入力されます。






コマンドボタンを作成し、マクロを実行するためのコードを記述する方法

@Excel2000,2002,2003の場合
   「コントロールツールボックス」ツールバーの「コマンドボタン」をクリックします。

        

  Excel2007,2010の場合
   クイックアクセスツールバーの「コントロールの挿入」ボタンをクリックし、ActivXコントロールにある「コマンドボタン」をクリックします。

       

Aマウスポインタが十字に変化したのを確認して、ボタンを配置したい範囲を左上から右下にドラッグします。今回はセルB2に「こんにちは」と入力するマクロなので、セルB2が隠れない位置にボタンを配置するようにしましょう。



Bコマンドボタンが作成されるので、選択状態のときに、ボタンの上でダブルクリックします。



CVBEが起動して下図のように「CommandButton1のClick_プロシージャ」が作成されます。
   このプロシージャにマクロを記述すると、コマンドボタンをクリックしたときに記述したマクロが実行されます。



Dプロシージャ内に
 module1.macro1
  と記述します。
 マクロは原則としてすべて半角英数文字で記述しなければなりません。
「Module1.Macro1」とは、「標準モジュールModule1に記述されている「Macro1プロシージャ」のマクロを実行しなさい」という意味です。



E「Alt」キーを押しながら「F11」キーを押してワークシートに戻り、コントロールツールボックスの 「デザインモード」をクリックして選択状態を解除します。
  Excel2000,2002,2003の場合
        

  Excel2007,2010の場合

        

F作成したボタンをクリックすると、マクロが実行されて、セルB2に 「こんにちは」と入力されます。





以上で2通りのコマンドボタンの作成方法を学習しました。マクロを構築するときに、コマンドボタンを使用する機会は多いので、しっかり覚えておきましょう。

作成したコマンドボタンの総称を「コントロール」といいます。コントロールには他にも「テキストボックス」や「リストボックス」などがあります。そのコントロールを作成するために使用するのが「コントロールツールボックス」です。

また、コマンドボタンなどの「コントロール」を「オブジェクト」ともいいます。オブジェクトは「物」「対象物」などの意味です。
オブジェクトには「コントロール」以外にも「ユーザーフォーム」や「ワークシート」などがあります。
オブジェクトの概念については、今後学習が進むにつれて自然と身についてきます。


作成したコントロールの移動やサイズ変更をおこなうには「(61)コントロールの作成、移動、サイズ変更の方法」をご覧ください。