Vba 从报警时间数组中弹出消息
我试图在Excel(VBA)上创建一个时钟,并根据数组(G4:L28)中列出的时间生成一个警报,该警报应触发一条弹出消息,其中包括相邻列(f4:f28)和行(G3:L3)中存在的相应数据。假设您的数据如下所示: 如果要在工作簿打开时设置报警,请将此代码添加到新模块 编辑 我将代码更改为一个新模块,并使用全局消息变量来解决一些潜在的值传递问题。现在您只需要在某个点运行SetAlarms来设置报警Vba 从报警时间数组中弹出消息,vba,excel,Vba,Excel,我试图在Excel(VBA)上创建一个时钟,并根据数组(G4:L28)中列出的时间生成一个警报,该警报应触发一条弹出消息,其中包括相邻列(f4:f28)和行(G3:L3)中存在的相应数据。假设您的数据如下所示: 如果要在工作簿打开时设置报警,请将此代码添加到新模块 编辑 我将代码更改为一个新模块,并使用全局消息变量来解决一些潜在的值传递问题。现在您只需要在某个点运行SetAlarms来设置报警 Public AlarmMessage As String Public Sub displayA
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
您可以使用
Application.OnTime()
进行此操作。我不断遇到错误,请您向我展示代码,我在VBA方面没有很多经验,谢谢您。如果您有代码,那么您可以更新您的问题,事实上,我从一开始就在数组中使用四舍五入的值来避免传递值。这很有效,谢谢