ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 111|回复: 1

[求助] 关于定时自启动问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2024-9-4 09:55 | 显示全部楼层 |阅读模式


ThisWorkbook里已经有这些代码:
image.png

模块1里有如下代码:
  1. Dim RunWhen

  2. Sub run_Timer()

  3.     RunWhen = Now + TimeValue("00:01:00")
  4.     Application.OnTime RunWhen, "chktime", Schedule:=True

  5. End Sub


  6. Sub shut_Timer()

  7.     Application.OnTime RunWhen, "chktime", Schedule:=False

  8. End Sub


  9. Sub chktime()

  10.     Application.ScreenUpdating = False

  11.     '启动大批镜片1
  12.     '-------------------------------------------------------------------------------------------------------------
  13.     If Format(Time, "h:mm") = "6:50" Or Format(Time, "h:mm") = "9:50" Or Format(Time, "h:mm") = "10:50" Or _
  14.     Format(Time, "h:mm") = "13:50" Or Format(Time, "h:mm") = "17:50" Or Format(Time, "h:mm") = "19:50" Then '自动启动时间

  15.         Call comb_Sunglass1

  16.     End If
  17.     '-------------------------------------------------------------------------------------------------------------



  18.     '启动大批镜片2
  19.     '-------------------------------------------------------------------------------------------------------------
  20.     If Format(Time, "h:mm") = "5:50" Or Format(Time, "h:mm") = "7:50" Or Format(Time, "h:mm") = "8:50" Or Format(Time, "h:mm") = "12:50" _
  21.     Or Format(Time, "h:mm") = "14:50" Or Format(Time, "h:mm") = "15:50" Or Format(Time, "h:mm") = "18:50" Or Format(Time, "h:mm") = "20:30" Then '自动启动时间

  22.         Call comb_Sunglass2

  23.     End If
  24.     '-------------------------------------------------------------------------------------------------------------



  25.     '启动额外打标签
  26.     '-------------------------------------------------------------------------------------------------------------
  27.     If Format(Time, "h:mm") = "5:45" Then '自动启动时间

  28.         Call comb_EXPICK

  29.     End If
  30.     '-------------------------------------------------------------------------------------------------------------



  31.     '启动额外打标签
  32.     '-------------------------------------------------------------------------------------------------------------
  33.     If Format(Time, "h:mm") = "6:20" Or Format(Time, "h:mm") = "21:10" Then '自动启动时间

  34.         Call comb_EXPICK

  35.     End If
  36.     '-------------------------------------------------------------------------------------------------------------





  37.     '启动有色腿镜片
  38.     '-------------------------------------------------------------------------------------------------------------
  39.     If Format(Time, "h:mm") = "12:20" Then '自动启动时间

  40.         Call comb_Sunglass_0R

  41.     End If
  42.     '-------------------------------------------------------------------------------------------------------------



  43.     '启动RX镜片
  44.     '-------------------------------------------------------------------------------------------------------------
  45.     If Format(Time, "h:mm") = "16:50" Then '自动启动时间

  46.         Call comb_SunglassRX

  47.     End If
  48.     '-------------------------------------------------------------------------------------------------------------



  49.     '启动TRD AN
  50.     '-------------------------------------------------------------------------------------------------------------
  51.     If Format(Time, "h:mm") = "8:10" Then '自动启动时间

  52.         Call comb_TRDAN

  53.     End If
  54.     '-------------------------------------------------------------------------------------------------------------



  55.     '启动TRC AN
  56.     '-------------------------------------------------------------------------------------------------------------
  57.     If Format(Time, "h:mm") = "10:10" Then '自动启动时间

  58.         Call comb_TRC2AN

  59.     End If
  60.     '-------------------------------------------------------------------------------------------------------------



  61.     '启动TRM AN
  62.     '-------------------------------------------------------------------------------------------------------------
  63.     If Format(Time, "h:mm") = "10:30" Then '自动启动时间

  64.         Call comb_TRM6AN

  65.     End If
  66.     '-------------------------------------------------------------------------------------------------------------



  67.     '启动TRB&TRD AN
  68.     '-------------------------------------------------------------------------------------------------------------
  69.     If Format(Time, "h:mm") = "12:30" Then '自动启动时间

  70.         Call comb_TrbTrdAN

  71.     End If
  72.     '-------------------------------------------------------------------------------------------------------------



  73.     '启动TRB&TRC&TRM AN
  74.     '-------------------------------------------------------------------------------------------------------------
  75.     If Format(Time, "h:mm") = "16:20" Then '自动启动时间

  76.         Call comb_TrbTrcTrmAN

  77.     End If
  78.     '-------------------------------------------------------------------------------------------------------------





  79.     '12:00点、17:30点、22点自动保存
  80.     '-------------------------------------------------------------------------------------------------------------
  81.     If Format(Time, "h:mm") = "12:00" Or Format(Time, "h:mm") = "17:30" Or Format(Time, "h:mm") = "22:00" Then '自动启动时间

  82.        ThisWorkbook.Save  '自动保存整个工作簿

  83.     End If
  84.     '-------------------------------------------------------------------------------------------------------------


  85.     If CStr(Hour(Now())) = "5" And CStr(Minute(Now())) = "30" Then
  86.        Sheet1.Range("A12").Value = 0
  87. '       Sheet6.UsedRange.Offset(1).Clear
  88. '       Sheet7.UsedRange.Offset(1).Clear
  89. '       Sheet9.UsedRange.Offset(1).ClearContents
  90.     End If


  91.     Call run_Timer

  92.     Application.ScreenUpdating = True

  93. End Sub
复制代码



现在的问题是:
1、因为它已经是每分钟都在检测启动时间,到时间了就会自启动,但为什么有时又不能自启动了呢?
2、想把上面列出的模块1里的代码的启动时间重新给它组织一下,看起来很凌乱是不是也会影响启动?

测试.zip

735.88 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2024-9-4 10:44 | 显示全部楼层
你这不是只能运行第一次而已吗,想要循环要调用宏本身才行,比如:
Sub Run_Macro()
    '在这里编写你的VBA宏代码
    Debug.Print Now
    Application.OnTime Now + TimeValue("00:00:01"), "Run_Macro"
End Sub
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-18 19:55 , Processed in 0.031220 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表