【エクセルVBA】時間タイマーで警告を表示する方法&自動的に起動する現象の解除方法

VBA〇分後にメッセージボックス

 

エクセルシート内で、〇分後に警告を表示するVBAを紹介します。

 

 

共有のエクセルブックを使用していると、誰かがファイルを閉じ忘れて他の人が操作できないという事象が頻繁に生じるのではないでしょうか。

読み取り専用でしかファイルを開けないとフラストレーションが溜まりますよね。

 

ポップアップで警告を表示するようにしておけば閉じ忘れの割合をぐっと下げることができるのでぜひ活用してみてください。

 



 

 

10分後にメッセージボックスを表示するVBA

 

 

 

Sub Workbook_Open() でワークブックが開かれた際に起動する仕組みになっています。

設定時間は下図の黄色マーカー部分で任意の数値に変更してください。

 

 

指定した時間にメッセージボックスを開くに Application.OnTime の記述を使用しています。

コピーしたまま使用できると思いますが、下図マーカーのプロシージャは整合を取るようにしてください。

 

 

メッセージボックスの内容としてはひとまず下図のように表示されるようにしていますので、好みに合わせて文章を変更してください。

尚、vbCrLf は改行を表しています。

 

 

 

 

ブックを閉じたのに警告がゾンビのように復活するのを防ごう

 

他のブックを開いたままにしていると、閉じたはずの警告が時間通りに表示され、ブックが再び表示される現象が起こります。

これは、Application.OnTime がブックが閉じられても機能し続けていることが原因です。

 

つまり、Application.OnTime を解除してあげればこの現象を避けることができます。

 

今回紹介したVBAではブックを閉じる際に、Application.OnTime を解除するようにしてあります。

( Private Sub Workbook_BeforeClose(Cancel As Boolean) を活用。)

 

解除するためには Application.OnTime の語尾に下図黄色マーカーのように , , False を追加が必要です。

 

 

これで、不具合なく共有エクセルに警告が出せるはずです。

参考にしていただけると幸いです。

 



 

コメント

タイトルとURLをコピーしました