マクロ実行用のマクロボタンを作る

Buttons.Add ボタンを作るマクロ Excel2010 マクロ講座 26回

マクロボタンを作成するマクロ

今回は、フォームコントロールからではなく、マクロを作成してマクロを登録するためのボタンを作成しましょう。
Excelバージョン:201320102007
(サンプルファイルは、こちらから 2010マクロ講座26回サンプルデータ

マクロボタンを作成するコード

今までは、フォームコントロールのボタン作成からボタンを作成しました。 普通は、これでいいのですが、頻繁にボタンを作成する必要が有る場合、やはりマクロでささっと行いたいものです。
ボタンを作成するマクロマクロ1
マクロボタンをクリックしてマクロダイアログを表示します。
ボタンを作成するマクロマクロ2
マクロボタン作成という名前のマクロを選択して実行すると、
ボタンを作成するマクロマクロ3
B2セルにボタン1が作成されます。
ボタンを作成するマクロマクロ4
VBEを表示してコードを確認しましょう。開発タブのコントロールにあるVisualBasicボタンをクリックして、VisualBasicEditorを起動します。Alt+F11キーを押しても、VisualBasicEditorを起動できます。
ボタンを作成するマクロマクロ5
上図のアクティブシート上のB2セルにボタンを作成するコードは次のようになります。
Sub ボタン作成()
    With ActiveSheet.Buttons.Add(Range("B2").Left, _
                                 Range("B2").Top, _
                                 Range("B2").Width, _
                                 Range("B2").Height)
        .Name = "ボタンB2"
        .OnAction = "ボタン1"
        .Characters.Text = "ボタン1"
    End With
End Sub
Nameプロパティで名前を指定します。
Nameプロパティ .Name = "ボタンB2"は、ボタンの名前です。
OnActionプロパティで設定するプロシージャ名を文字列として指定します。
.OnAction = "ボタン1"は、実行するプロシージャ(マクロ)の名前です。
.Characters.Text = "ボタン1"ボタン上に表示される名前です。