我正在尝试在Excel(VBA)上创建时钟并从阵列中列出的时间生成警报(G4:L28),警报应触发弹出消息,其中包括相邻的相应数据列(f4:f28)和行(G3:L3)
答案 0 :(得分:0)
假设您的数据如下所示:
您希望在工作簿打开时设置警报,将此代码添加到新模块
修改强>
我将代码更改为新模块并使用全局消息变量来解决一些潜在的值传递问题。现在您只需要在某个时刻运行SetAlarms来设置警报。
Public AlarmMessage As String
Public Sub displayAlarm()
MsgBox (AlarmMessage)
End Sub
Sub SetAlarms()
Dim alarmSheet As Worksheet
Set alarmSheet = Worksheets("Sheet1")
For Each cell In alarmSheet.Range("G4:L4")
'Set message
AlarmMessage = alarmSheet.Range("F" & cell.Row).Value
'Set alarm
Application.OnTime EarliestTime:=TimeValue(CStr(Format(cell.Value, "hh:mm:ss"))), Procedure:="displayAlarm"
Next cell
End Sub