- 締切済み
Excelで時刻になったら知らせてくれるように
こんにちは。わかる方教えて下さい。 Excelで作成したいのですが、セルA1とA2に時間(例:13:00と14:00)をそれぞれ入力。 その時刻になったら音を鳴らして知らせるようにしたいと思っています。 いろいろサイトをみていますが初心者なのでよくわかりません。 OnTimeを使用したらよいと記載されているサイトが多いのですが、使い方がいまいちです。 どのようにしたらよいのか教えていただけないでしょうか。 また、それぞれその時間になったらセルA1とA2に色がつくようにできますかよろしくお願いいたします。 参考URL http://excel-ubara.com/excelvba5/EXCEL104.html を試してみましたがうまくいきませんでした。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- okormazd
- ベストアンサー率50% (1224/2412)
#1です。 「これとは別に・・・」 何を言っているやら。 ちゃんと色も変わるように作ってあるはずだが、何が不足なんでしょうね。 誰かが作ったものをそのまま使うということではなくて、それを参考にして自分で調べ、考えるのでなければ、思うようなことはできないね。全部誰かに作ってもらうというのであれば、それ相当の対価が必要と思うが。
- okormazd
- ベストアンサー率50% (1224/2412)
自動的に実行されるように、A1,A2のあるシートのWorkSheetモジュールに次のChangeイベントを書く。 Private Sub Worksheet_Change(ByVal Target As Range) If Target = Range("A1") Or Range("A2") Then SetOnTime End If End Sub 標準モジュールに次のようにを書く。始めのPublic Declare は、Beep関数を使えるようにするため。 Public Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As Long Sub SetOnTime() On Error Resume Next Application.OnTime Range("A1"), "CallBeep", , False Application.OnTime Range("A2"), "CallBeep", , False Application.OnTime Range("A1"), "CallBeep" Application.OnTime Range("A2"), "CallBeep" End Sub Sub CallBeep() If TimeValue(WorksheetFunction.Text(Now, "h:mm")) = Range("A1") Then Call Beep(500, 500) Range("A1").Interior.ColorIndex = 3 End If If TimeValue(WorksheetFunction.Text(Now, "h:mm")) = Range("A2") Then Call Beep(1000, 500) Range("A2").Interior.ColorIndex = 4 End If End Sub
お礼
ご回答いただきありがとうございます。参考にして使用させていただきます。 これとは別に指定した時間(例:13:00)に自動でセルの色を変えることは可能でしょうか。