首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从晚上11:55到上午12:00,应用程序运行时出现问题-中断环路- vba

从晚上11:55到上午12:00,应用程序运行时出现问题-中断环路- vba
EN

Stack Overflow用户
提问于 2017-03-23 19:00:44
回答 1查看 131关注 0票数 0

我有一个从下午5:00一直循环到第二天下午4:00的宏。宏运行2个循环,每个循环每5分钟拍摄一次数据快照。然而,到了晚上11点55分,我注意到了一个问题在11:55,它将陷入更快的循环,并开始每秒拍摄快照,直到凌晨12:00,然后它恢复正常行为。其中一个循环的上一个快照是晚上11:53,因此下一个快照应该是11:58,但它却一直等到凌晨12:00才拍摄下一个快照,然后行为正常。

因此,一个在11:55拍摄快照的循环和计划在12:00上午拍摄的下一个循环开始变得疯狂,每秒都拍摄快照,直到午夜。

另一个循环在11:53拍摄快照,并将下一次快照安排在11:58,等待7分钟,而不是编程的5分钟,并在午夜恢复正常活动。

我对application.ontime方法还很陌生,不确定是否有什么原因导致它在午夜运行时出错。任何想法都将不胜感激。

这是其中一个循环。它调用"cashHighLow“,最后返回到"repeatHighLow”。

代码语言:javascript
运行
复制
Sub repeatHighLow()
Dim spreads As Worksheet
Set spreads = ThisWorkbook.Worksheets("Spreads")
interval = spreads.Range("c127").Value
starttime = Time + TimeValue("00:" & interval & ":00")
stop1 = TimeValue("16:00:00")
stop2 = TimeValue("18:59:00")

If starttime < stop1 Or starttime > stop2 Then Application.OnTime starttime,         "cashHighlow"

结束子对象

以下是启动调度循环的初始调用:

代码语言:javascript
运行
复制
Sub runSaves()

datecheck = Weekday(Date)
If datecheck = 6 Or datecheck = 7 Then Application.OnTime TimeValue("16:50:00"), "runSaves"
Application.OnTime TimeValue("17:23:00"), "repeatFutures"
Application.OnTime TimeValue("18:55:00"), "repeatHighLow"
Application.OnTime TimeValue("7:00:00"), "saveMidFutureClose"
Application.OnTime TimeValue("7:00:01"), "saveOverNightHighLow"
Application.OnTime TimeValue("7:00:02"), "midCashClose"
Application.OnTime TimeValue("7:00:03"), "saveCashOpen"
Application.OnTime TimeValue("7:00:04"), "saveFutureOpen"
Application.OnTime TimeValue("16:30:00"), "saveCashHighLow"
Application.OnTime TimeValue("16:30:01"), "saveFutureHighLow"
Application.OnTime TimeValue("16:30:02"), "saveFutureClose"
Application.OnTime TimeValue("16:30:03"), "saveCashClose"
Application.OnTime TimeValue("16:30:10"), "clearSnaps"
Application.OnTime TimeValue("16:50:00"), "runSaves"


End Sub
EN

回答 1

Stack Overflow用户

发布于 2018-02-14 02:23:01

我自己解决了这个问题,简单地避免了午夜时间。从23:59:59到00:00:00拉入的数据或Excel处理数据的方式存在问题。因此,我说,如果时间在此窗口内,则只需再添加一分钟来跳过此数据点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42974138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档