来自一系列警报时间的弹出消息

时间:2013-12-04 17:39:14

标签: excel vba excel-vba

我正在尝试在Excel(VBA)上创建时钟并从阵列中列出的时间生成警报(G4:L28),警报应触发弹出消息,其中包括相邻的相应数据列(f4:f28)和行(G3:L3)

1 个答案:

答案 0 :(得分:0)

假设您的数据如下所示:

enter image description here

您希望在工作簿打开时设置警报,将此代码添加到新模块

修改

我将代码更改为新模块并使用全局消息变量来解决一些潜在的值传递问题。现在您只需要在某个时刻运行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