4-10 マクロの起動メニューを「メニューバー」に登録する

マクロは、ショートカットを作ると便利に使えますが、空いている英文字の数が限られていますし、あまり使わないマクロなどは設定したキーを忘れたりするので、調べるのが面倒です。
そこで、使い慣れたメニューバーに「マクロメニュー(M)」という項目を追加して、そのプルダウンメニューにマクロ名を出して使う方法があります。
定型マクロですので、1度組み込んでおけば、メニューバーに「マクロメニュー(M)」という項目が出てきます。

以下に、マクロと、その組み込み方を書いておきます。
このマクロは、いちいち実行しなくても、「小遣帳.xls」を起動すると自動的に実行されます。
このように、BookやSheet、Cellなどがアクティブになった時に自動的に実行されるマクロをイベントマクロと言います。
今回は、Bookが起動した時と、Sheetがアクティブになった時に実行される2つのイベントマクロがあります。

[Bookが起動した時に実行されるマクロ]

--ここから

Private Sub Workbook_Open()
Activeworkbook.Worksheets("出金記録").activate
ActiveSheet.Next.Select
ActiveSheet.Previous.Select
End Sub

--ここまで

小遣帳.xlsへの登録は、次の様にします。

1.上のマクロを範囲選択して[Ctrl+C]キーでコピーしておきます。

2.「小遣帳.xls」を起動して、「Visual Basic Editor」を開きます。

3.[Alt,V,P]キーを押して「プロジェクト エクスプローラ(P)」を開きます。

4.[上下カーソル]キーで「ThisWorkbook」を選択して[Enter]キーを押します。無音ですが、エディタの部分が選択されています。

5.[Ctrl+V]キーで貼り付けます。

6.これで、「小遣帳xls」を起動した時に実行されるイベントマクロが設定されました。

[メニューバーにマクロを実行するためのメニューを追加する]
次に、メニューバーに「マクロメニュー(M)」を作る方法のマクロを書きます。
これも定型ですので、自分でプルダウンに表示されるメニュー名と実行するマクロ名を書き換えれば、ほかのBookでも使えます。

--ここから

'メニューバーにマクロを実行するためのメニューを追加する
Private Sub Worksheet_Activate()
Dim Menu1 As Object
Set Menu1 = CommandBars("WorkSheet Menu Bar"). _
Controls.Add(Type:=msoControlPopup, Temporary:=True)
Menu1.Caption = "マクロメニュー(&M)"
Set S1_Menu1 = Menu1.Controls.Add
S1_Menu1.Caption = "指定日付の抽出(&S)" 'メニュー項目名
S1_Menu1.OnAction = "日付抽出" 'マクロ名を書く

Set S2_Menu1 = Menu1.Controls.Add
S2_Menu1.Caption = "月別の出金シートを作る(&M)"
S2_Menu1.OnAction = "月別コピー"

'メニューを追加する場合は、上の3行をコピーして "S2_Menu1"を"S3_Menu1" と変えて追加して行きます。
End Sub

'メニューバーを元に戻す処理
'この処理をしておかないと、シートを切り替えるたびに、メニューバーに「マクロメニュー(M)」がどんどん増えていきます。

Private Sub Worksheet_Deactivate()
CommandBars("WorkSheet Menu Bar").Reset
End Sub

--ここまで

「小遣帳xls]への組み込みは次のようにします。

1.上のマクロをコピーします。

2.「小遣帳.xls」の「Visual Basic Editor」を開きます。

3.[Alt,V,P]キーで「プロジェクト エクスプローラ(P)」を開きます。

4.[上下カーソル]キーで「Sheet1 (出金記録)」を選択して[Enter]キーを押します。無音ですがエディタの部分が選択されています。

5.[Ctrl+V]キーでマクロを貼り付けます。

6.[Alt,F,C]キーか[Alt+F4]キーで「プロジェクト エクスプローラ(P)」を終了してExcelに戻ります。

7.「小遣帳.xls」を保存終了します。

8.再度「小遣帳.xls」を起動します。

9.[Alt]キーを押して[右カーソル]キーでメニューバーに「マクロメニュー(M)」が組み込まれている事を確認して下さい。

10.[Alt+M]キーを押すと、「マクロメニュー(M)」のプルダウンメニューが開きます。

11.[上下カーソル]キーでメニューを選択して[Enter]キーを押します。

組み込まれているマクロが実行されます。


前の項目へ 視覚障害者のためのExcel講座へ戻る 次の項目へ