今回は、ブック(Excel)がアクティブになった時に処理を自動で処理を実行する方法をご紹介します。
それに加えて、アクティブ状態が解除された時に処理を実行する方法も併せて解説します。
- ブック(Excel)がアクティブになった時に処理を自動で実行する方法が分かります。
- ブック(Excel)がアクティブ状態から解除された時に処理を自動で実行する方法が分かります。
- イベントを使用するための手順を画像付きで解説します。
- コピペで使える実践的なサンプルコードを掲載しています。
基本情報
Activateイベント
ブックがアクティブになった時に処理を実行するには、Workbook_Activateイベント(以下「Activateイベント」という)を使用します。
Activateイベントは、ThisWorkbookモジュールに記載します。
構文
Activateイベントの構文を以下に示します。
Private Sub Workbook_Activate()
…(ソースコードを入力)
End Sub
Deactivateイベント
ブックのアクティブ状態が解除された時に処理を実行するには、Workbook_Deactivateイベント(以下「Deactivateイベント」という)を使用します。
Deactivateイベントは、ThisWorkbookモジュールに記載します。
構文
Deactivateイベントの構文を以下に示します。
Private Sub Workbook_Deactivate()
…(ソースコードを入力)
End Sub
イベントの記述手順
VBEより、「ThisWorkbook」>「Workbook」を選択する。
プルダウンより「Activate」及び「Deactivate」を選択します。
その後、コード欄に「Workbook_Activate」及び「Workbook_Deactivate」イベントが記載されることを確認します。
サンプルコード
ブックがアクティブになった場合にメッセージボックスを表示する
Private Sub Workbook_Activate()
MsgBox ThisWorkbook.Name & "がアクティブになりました。"
End Sub
ブックのアクティブ状態が解除された場合にブックを上書き保存する
Private Sub Workbook_Deactivate()
' ブックが保存されているかを確認する
If ThisWorkbook.Path <> "" Then
' ブックを上書き保存する
ThisWorkbook.Save
End If
End Sub
最後に
今回は、ブックがアクティブになった時に処理を実行する方法に加えて、アクティブ状態が解除された時に処理を実行する方法をご紹介させて頂きました。
本記事が、皆さんのお力になれば幸いです!
コメント