目次
経緯
Excelファイルを開いたときに、自動でプログラムが実行されるようにしたいと考え、
今回、VBAの自動起動処理について学びました。
解決方法:ThisWorkbookモジュールでWorkbook_Openを使う
Excelが開かれたタイミングでプログラムを自動実行するには、
「ThisWorkbook」モジュールに、Workbook_Open
イベントを記述します。
手順
- Excelで「Alt + F11」を押してVBAエディターを開きます。
- 左側の「VBAProject(ブック名)」から「ThisWorkbook」をダブルクリックします。
- 開いたモジュールウィンドウに、次のコードを記述します。
自動実行の基本コード
Private Sub Workbook_Open()
' 実行したいプログラムをここに記述
MsgBox "Excelを開いたときに自動で実行されました"
End Sub
上記のコードでは、Excelを開いたときにメッセージボックスが表示されます。
この部分を任意の処理(たとえばマクロの呼び出し、セルの初期化、日付の自動入力など)に置き換えることで、
自動化処理を自由に実装できます。
注意点
- **マクロ有効ブック(.xlsm形式)**として保存する必要があります。
- マクロが有効でない場合(セキュリティ設定で無効化されている場合など)、実行されません。
Workbook_Open
イベントは、ブックが開かれたときに1度だけ実行されます。
まとめ
Excelを開いた瞬間に自動で処理を実行したい場合は、
ThisWorkbook
モジュールにWorkbook_Open()
イベントを使って- 実行内容を記述する
という手順で簡単に実装できます。
繰り返し使う作業を自動化することで、作業効率が大きく向上します。
ここまでお読みいただき、誠にありがとうございました。