対象:Excel2003, Excel2007, Excel2010
「エクセルで保存時にマクロ実行する方法」
という検索が行われていました。
Excelで保存をするときに、なんらかのマクロを実行させる方法を探している方による検索です。
VBA(Visual Basic for Applications)で、何かの操作時にマクロを実行させたいというときは、イベントプロシージャの出番です。
[スポンサードリンク]
VBE(Visual Basic Editor)の[プロジェクトエクスプローラー]の「ThisWorkbook」をダブルクリックすると表示される[ブックモジュール]で、「Workbook_BeforeSave」イベントプロシージャを書いてやればOKです。
▼保存をするときにマクロを実行するイベントプロシージャ
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
MsgBox "保存します。"
End Sub「Workbook_BeforeSave」イベントプロシージャは、その名のとおり「Workbook」(ワークブック)が、「Save」(保存)される、「Before」(前)に実行されるプロシージャです。
上記のコードを記述したExcelファイルを保存しようとすると、「保存します。」というメッセージボックスが表示されるのをご確認いただけるでしょう。
実際にはここに「Call Subプロシージャ名」というような記述をして、Subプロシージャ(マクロ)を呼んでやればいいでしょう。
[スポンサードリンク]
Home » エクセルマクロ・Excel VBAの使い方 » イベントプロシージャ » 保存時にマクロを実行したい-Workbook_BeforeSave