マクロでボタンを作成装飾編

Excel2010 マクロ講座 26回

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

今回は、フォームコントロールからではなく、マクロを作成してマクロを登録するためのボタンを作成しましょう。
ここでは、ボタンを削除するマクロと、ボタンのフォントや文字色などを指定していきます。

(サンプルファイルは、こちらから 2010マクロ講座26回サンプルデータ

マクロボタンを削除するコード

アクティブシート上のボタンを削除するコードは、
Sub ボタン削除()
    ActiveSheet.Buttons.Delete
End Sub
ボタン削除マクロの動作を確認しましょう。
ボタン削除マクロ
このようにシート上のボタン削除されます。
ボタン削除マクロ2

マクロボタンを装飾する

例えば、ボタンのフォントや文字色や太さを変更する時、次のようにします。
Font.Name = "メイリオ" フォントをメイリオにします。
.Font.ColorIndex = 5 フォントカラーを5番の青にします。
.Font.Bold = True フォント太字にします。
これらのコードを元のコードに追加して次のようにします。
Sub ボタン作成()
    With ActiveSheet.Buttons.Add(Range("B2").Left, _
                                 Range("B2").Top, _
                                 Range("B2").Width, _
                                 Range("B2").Height)
        .Name = "ボタンB2"
        .OnAction = "ボタン1"
        .Characters.Text = "ボタン1"
        .Font.Name = "メイリオ"
        .Font.ColorIndex = 5
        .Font.Bold = True
    End With
End Sub

OnActionプロパティで設定するマクロ

OnActionプロパティで設定したプロシージャ名は、文字列として指定するので、"ボタン1"のように記述しましたが、 まだ作成していません。これから、作成します。
マクロボタンに登録
動作確認のためのメッセージボックスを表示することにします。
Sub ボタン1()
 MsgBox "代わりのコードを記述してください。"
End Sub
マクロボタンに登録2
では、ボタン作成マクロを実行しましょう。
ボタン作成マクロを実行
ボタンができました。
NAMAEマクロ
ボタンをクリックすると、登録したマクロが実行できます。
登録したマクロが実行