Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 从报警时间数组中弹出消息_Vba_Excel - Fatal编程技术网

Vba 从报警时间数组中弹出消息

Vba 从报警时间数组中弹出消息,vba,excel,Vba,Excel,我试图在Excel(VBA)上创建一个时钟,并根据数组(G4:L28)中列出的时间生成一个警报,该警报应触发一条弹出消息,其中包括相邻列(f4:f28)和行(G3:L3)中存在的相应数据。假设您的数据如下所示: 如果要在工作簿打开时设置报警,请将此代码添加到新模块 编辑 我将代码更改为一个新模块,并使用全局消息变量来解决一些潜在的值传递问题。现在您只需要在某个点运行SetAlarms来设置报警 Public AlarmMessage As String Public Sub displayA

我试图在Excel(VBA)上创建一个时钟,并根据数组(G4:L28)中列出的时间生成一个警报,该警报应触发一条弹出消息,其中包括相邻列(f4:f28)和行(G3:L3)中存在的相应数据。

假设您的数据如下所示:

如果要在工作簿打开时设置报警,请将此代码添加到新模块

编辑

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

您可以使用
Application.OnTime()
进行此操作。我不断遇到错误,请您向我展示代码,我在VBA方面没有很多经验,谢谢您。如果您有代码,那么您可以更新您的问题,事实上,我从一开始就在数组中使用四舍五入的值来避免传递值。这很有效,谢谢