自動的に実行されるように、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)に自動でセルの色を変えることは可能でしょうか。