EXCEL中,用VBA进行时间提醒设置的问题

Private Sub Workbook_Open()
For i = 2 To Sheet1.UsedRange.Rows.Count
If (Day(Date) = Day(Sheet1.Cells(i, 2).Value)) Then
MsgBox (Sheet1.Cells(i, 2).Value & "该合同到了收款日期")
End If
Next i
For i = 2 To Sheet1.UsedRange.Rows.Count
If (Day(Date) = Day(Sheet1.Cells(i, 2).Value)) Then
MsgBox (Sheet1.Cells(i, 2).Value & "该合同到了收款日期")
End If
Next i
For i = 3 To Sheet1.UsedRange.Rows.Count
If (Day(Date) = Day(Sheet3.Cells(i, 2).Value)) Then
MsgBox (Sheet3.Cells(i, 2).Value & "该合同到了收款日期")
End If
Next i
End Sub

这个语句有点罗嗦啊,谁=知道怎么把sheet1-sheet3用一个语句表示了呢,另外MsgBox (Sheet3.Cells(i, 2).Value & "该合同到了收款日期")
语句中,如何让Sheet3.Cells(i, 2).Value 显示的是工作表的名称,假设我把sheet3名称改为了“哈哈”
最好给我弄个完整的编程,我好改动啊

  1、在Excel中新建一个文档,并将它命名为“提醒.xls”。
  2、执行菜单栏中的“工具”→“宏”→“Visual Basic编辑器”命令,进入VBA编辑状态。

  3、在“工程资源管理器”窗口中,选中“VBAProject(提醒.xls)”选项,然后执行菜单栏中的“插入”→“模块”命令,插入一个名为“模块1”的新模块。

  4、选中“模块1”,执行菜单栏中的“视图”→“属性窗口”命令,在打开的“属性”窗口中将它更改为“提醒”。

  5、在“提醒”模块的代码窗口中输入如下所示的代码:

  Sub auto_open()     '设置一个自动运行的宏--auto_open

  Application.OnTime TimeValue("09:30:00"), "tx"
'设置提醒时间为09:30:00(可以根据实际需要进行修改),设置调用提醒宏
   Application.OnTime TimeValue("010:00:00"), "tx" '再设置提醒一次。
   End Sub
   Sub tx()      '设置一个显示提醒消息的宏。
   msg = MsgBox("订购一张2005年1月1日北京——海南的机票!", vbInformation, "赶快订机票")
   End Sub
  提示:

  可以设置多个提醒宏(tx1、tx2……),只需要在自动运行宏中分别设置调用的时间,即可实现多个消息的定时提醒。

  6、保存代码,并退出VBA编辑状态。

  7、当设定的时间到来时,系统将弹出提示框进行提醒。
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-10-17
  1.在Excel中新建一个文档,并将它命名为“提醒.xls”。
  2.执行菜单栏中的“工具”→“宏”→“Visual Basic编辑器”命令,进入VBA编辑状态。

  3.在“工程资源管理器”窗口中,选中“VBAProject(提醒.xls)”选项,然后执行菜单栏中的“插入”→“模块”命令,插入一个名为“模块1”的新模块。

  4.选中“模块1”,执行菜单栏中的“视图”→“属性窗口”命令,在打开的“属性”窗口中将它更改为“提醒”。

  5.在“提醒”模块的代码窗口中输入如下所示的代码:

  Sub auto_open()     '设置一个自动运行的宏--auto_open
  Application.OnTime TimeValue("09:30:00"), "tx"
  '设置提醒时间为09:30:00(可以根据实际需要进行修改),设置调用提醒宏
  Application.OnTime TimeValue("010:00:00"), "tx" '再设置提醒一次。
  End Sub
  Sub tx()      '设置一个显示提醒消息的宏。
  msg = MsgBox("订购一张2005年1月1日北京——海南的机票!", vbInformation, "赶快订机票")
  End Sub
  提示:

  可以设置多个提醒宏(tx1、tx2……),只需要在自动运行宏中分别设置调用的时间,即可实现多个消息的定时提醒。

  6.保存代码,并退出VBA编辑状态。

  7.当设定的时间到来时,系统将弹出提示框进行提醒。
第2个回答  推荐于2016-06-24
Private Sub Workbook_Open()
Dim i&, sh
For Each sh In Array(Sheet1, Sheet2, Sheet3)
With sh
.Activate
For i = 2 To .Cells(65536, 2).End(xlUp).Row
If Int(Date) = Int(.Cells(i, 2).Value) Then
.Rows(i).Select
MsgBox .Cells(i, 2).Value & Chr(10) & "该合同到了收款日期"
End If
Next i
End With
Next
End Sub追问

很好用的,谢谢,但是还有一个问题你还没回到我,就是怎么把 MsgBox .Cells(i, 2).Value & Chr(10) & "该合同到了收款日期"
这个对话框中显示的不是cells(i,2)的内容,而是标签的名字,假如我把sheet2改为了客户的名字

本回答被提问者采纳

EXCEL中,用VBA进行时间提醒设置的问题
1.在Excel中新建一个文档,并将它命名为“提醒.xls”。2.执行菜单栏中的“工具”→“宏”→“Visual Basic编辑器”命令,进入VBA编辑状态。3.在“工程资源管理器”窗口中,选中“VBAProject(提醒.xls)”选项,然后执行菜单栏中的“插入”→“模块”命令,插入一个名为“模块1”的新模块。4.选...

怎么在excel中设置时间提示报警怎么在excel中设置时间提示报警状态...
1,在EXCEL表格中,选中需要提醒的行或者列,2,在菜单栏选择“开始”,然后再工具栏中点击“条件格式”,在下拉菜单点击“新建规则”。3,在“新建格式规则”窗口,选择“使用公式确定要设置格式的单元格”,然后再下面的输入框,输入公式"=ABS(DATE(YEAR(TODAY()),MONTH($C2),DAY(C2))-TODAY()...

如何利用Excel进行定时提醒
1、启动Excel,新建一文档,取名保存(如"提醒.xls")。2、按"Alt+F11"组合键进入VBA编辑状态。(图片较大,请拉动滚动条观看)3、在左侧"工程资源管理器"窗口中,选中"VBAProject(提醒.xls)"选项,执行"插入模块"命令,插入一个新模块。4、将下述代码输入到右侧的编辑区域中:Sub auto_open()  ...

excel到期弹出提醒设置,用vba写的open事件,为什么总是弹出调试?_百度...
可以在sub下加一行语句 On Error Resume Next 例如这段语句 sub test()if cells(1,1)="" then cells(1,1) =1\/0 cells(2,1)=2 end sub 这个除数为0 肯定要报错的 如果改成 Sub test()On Error Resume Next If Cells(1, 1) = "" Then Cells(1, 1) = 1 \/ 0 Cells(2, 1)...

如何使一个excel表格在固定时间弹出 总是忘记打卡,自己做个打卡的时间...
TimeValue("08:30:00"), "Show_my_msg"'设置定时器在 08:30:00 激活,激活后运行 Show_my_msg 。End Sub Sub Show_my_msg()msg = MsgBox("现在是 08:30:00 !", vbInformation, "记得打卡哦~")End Sub 上面是8:30的提醒,其他几次,你只需要把时间换一下,写上去就行了 ...

如何在EXCEL表格中使用VBA设置一个当月最后一天自动提醒打印的信息框...
Private Sub Workbook_Open()Dim lastday As Byte lastday = Day(DateSerial(Year(Date), Month(Date) + 1, 0))If Day(Now()) = lastday Then MsgBox "今天是本月最后一天,请打印"End Sub

在excel中怎么设定自动提醒功能
在Excel中设定自动提醒功能的方法 一、使用条件格式设置提醒 步骤详解:1. 打开Excel工作表,选中需要设置提醒的单元格。2. 在Excel的菜单栏中,选择“条件格式”。3. 在条件格式下拉菜单中,根据需求选择相应的条件,如“突出显示单元格规则”中的“其他规则”。4. 在...

WPS excel表格中,如何使用VBA让AA1单元格的位置自动每一秒获取时间呢...
按ALT+F11打开VBA开发界面,按CTRL+R打开工程管理器,点鼠标右键添加模块,粘贴下面的程序代码:Option ExplicitSub 刷新时间()Dim tt = NowRange("a1") = tApplication.OnTime t + 1 \/ 24 \/ 3600, "刷新时间"End Sub 粘贴后如下图:这样就可以,执行一次这个宏,A1里面的时间就会按秒更新,录...

excel中使用vba实现时间的计算VBA测试报告计算时间
结果包含循环中所有计算花费的总秒数。当我设置一个新的计算时间测试时,通常会使用两个循环运行第一个测试。一旦看到它们需要花多长时间进行计算,就可以估算出实际需要多少个循环。另一方面,如果我一开始输入大量数字,我将不知道我是否需要等待五分钟或五个小时才能使Excel完成测试。这是CalcTimer宏。您...

谁知道EXCEL提醒功能的操作
2)人机交互能力差,即用户无法进行输入,计算机无法给出提示.3)无法显示EXCEL对话框.4)无法显示自定义窗体.1.8 小结 本课中,你已经掌握了VBA的一些基础知识,你会录制宏、编辑宏而且了解了录制宏的局限性.你很努力.并且已经为将来学习VBA甚至VB等编程语言打下了基础.关键是你已经了解了一个谜底,就是说...

相似回答