このページは
・指定した時間で起動するマクロ
を紹介しています

こんにちは!
会社の待遇をどうやって向上してもらえるか考えているしょーい(@showilog)です。
営業と違って売上に直結しないから、評価されづらいんですよね

さて、今回のマクロですがTwitterで面白そうな書き込みを見つけてしまいました

こちらの書き込みを見た瞬間に、マクロの構想を練ってました
そして、家に帰って30分くらいで作りました。
面白そうなものにはすぐに飛びついてしまいます

今回のマクロの使い所

  • 業務時間外にエクセルを起動したら注意喚起
  • 起動する度に業務終了までの時間をアナウンス
  • 時間によってエクセルをロックする

色々使えそうですね。今回私が作成した内容としては
「夜遅くにエクセル開くとねぎらいの言葉をだす」だけです
業務としては完全に必要ない内容です笑

けど、労われて嫌がる人は普通いないので良しとします

スポンサーリンク

コードはこちら

Private Sub Workbook_Open()

Dim D,Msg
D = CDate("20:30")
Msg = "夜遅くまでお疲れ様です" & vbCr & "働きすぎには注意してください
    If D <= CDate(Time) Then
    MsgBox  Msg
    End If
End Sub

これまたシンプルですね。
変数「Msg」に、ポップアップで表示したい言葉を入れてください
ただ、煽る内容はやめましょう。人を嫌な気持ちにするマクロは作ってはいけません

マクロの仕様

指定した時間外にエクセルを開くと、ポップアップでメッセージが表示される
という内容のマクロになります。

今回のマクロはモジュールではなく、workbookに書きます。

赤線が引いてある場所を選べば大丈夫です

「ワークブック(エクセル)を開いたときに起動する」という起動条件になってます。
なので、ワークブック部分にマクロを書いています

コードの説明

1行目:ワークブックが起動したらマクロを起動するという条件を記載
4行目:変数DにCdata形式で時間を入れてます。
 ※シリアル値でなく、見慣れた形で時間を利用できるので、Cdataを利用しています
5行目:表示したいメッセージを代入。
6行目:Dの時間よりも、今の時間が遅かったらメッセージボックスを起動する

内容としてはかなり単純ですが、仕組みとしては面白いので色々と応用ができそうな内容になってます。

・規定の時間になったら自動的にファイルを保存(保存忘れ対策)
・規定の時間になったら自動でメッセージを送る(仕事してるか確認

こんなこともできそうですね。
応用はいくらでもできると思うので、色々いじってみてください

私は、とりあえず社内の色んなエクセルに仕込みますw

スポンサーリンク