ワークシートにボタンを作成してVBEの編集画面を表示する方法

その他

今回は、ワークシートに作成したボタンから、ワンクリックでVBE(Visual Basic Editor)のマクロ編集画面を開く方法を解説します。

1. 標準モジュールにマクロのコードを作成

エクセルの「開発」タブ →「Visual Basic」でVBE(Visual Basic Editor)の画面を表示してVBEの「挿入」メニュー →「標準モジュール」で標準モジュールを作成し「Module1」に下のコードをコピーして貼り付けます。

Sub Macro1()

Application.VBE.MainWindow.Visible = True 'VBEのメインウィンドウを表示します。

ThisWorkbook.VBProject.VBComponents("Module1").Activate 'Module1のコード編集画面を開きます。

End Sub

2. ボタンを作成してマクロを登録

Excelのシート1を表示して「開発」タブ →「挿入」→「ボタン(フォームコントロール)」をクリックします。

ボタンを配置したい場所をマウスでドラッグします。

マクロの登録ダイアログボックスが表示されるので「Macro1」を選択して「OK」ボタンを押します。

ボタンに「Macro1」が登録されました。

3. マクロの実行前の準備

マクロを実行するには、Excelの「トラストセンターの設定」(またはセキュリティセンターの設定)の「マクロの設定」タブで「VBAプロジェクトオブジェクトモデルへのアクセス」を許可する必要があります。

【設定手順】
1.「ファイル」タブを開き、左下の「オプション」をクリックします。
2. 左メニューの「トラストセンター」またはセキュリティセンターを選択します。
3.「トラストセンターの設定」またはセキュリティセンターの設定ボタンをクリックします。
4. 左側のメニューから「マクロの設定」タブを開きます。
5.「VBAプロジェクトオブジェクトモデルへのアクセスを信頼する」にチェックを入れます。
6.「OK」をクリックして画面を閉じます。

これでマクロの実行前の準備はOKです。

4. VBEを起動する

それでは作成した「ボタン1」をクリックしてVBEを表示してみましょう。

「ボタン1」をクリックするとプログラムが実行されてVBEの「Module1」の編集画面が表示されました。

「ThisWorkbook.VBProject.VBComponents(“Module1”).Activate」のコードで目的のモジュールを直接開けるようにしています。プログラムの点検やメンテナンスを依頼するときに作業者が迷わずに着手できる利点があります。

また、VBEを起動させるためのコードを別のモジュール(Module2など)に分けておけば、画面には修正対象のプログラムだけが表示されます。余計なコードを見せずに済むため、作業者がメンテナンスに集中しやすくなるはずです。

まとめ

このように、コードの書き方だけでなく『修正しやすい環境』を整えることも、マクロ開発における重要な一環です。点検や修正のステップを最小限に抑えることで、チーム全体の生産性向上とミス防止の両立が期待できるでしょう。