每2小时运行一次宏仅在上一次运行完成时运行

时间:2015-01-06 09:04:13

标签: excel vba excel-vba scheduled-tasks

我已经设置了一个宏,每2小时运行一次,使用:

Application.OnTime (TimeSerial(6, 0, 0)), "AutoUpdate"

然而,有时会出现问题,因为有时宏会溢出2个小时并尝试再次运行,而前一个宏仍然在运行,导致它崩溃。有没有人知道如果说“如果之前的”AutoUpdate“仍在运行,那么不再运行”AutoUpdate“?

1 个答案:

答案 0 :(得分:3)

定义布尔类型的全局变量:

Dim gRunning as Boolean

在您的子网站中,添加以下代码:

If gRunning = True Then
  Exit Sub
End If

gRunning = True 

[...]

gRunning = False