工作表更改事件以时间触发

时间:2019-10-25 13:08:22

标签: excel vba events time worksheet

我正在寻找一个简单的宏来在单元格F4中的时间更改为少于7分钟(此单元格由API更新)时清除单元格的内容。单元格F4的时间为hh:mm:ss格式。我的代码是

Sub worksheet_change(ByVal Target As Range)
Application.EnableEvents = True
Set Target = Range("F4")
If Target.Value <= Minute(7) Then
    Call myClearContents
Application.EnableEvents = False
End If
End Sub

此代码在工作表中,而ClearContents宏在模块中。我已经完成了常规的google和stackoverflow搜索,但是没有运气。任何想法为什么这不起作用?

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试一下:

Application.EnableEvents = False
' get F3 time
t = CDate(Cells(3, 6))
' get current time
tNow = TimeValue(Now())
' get the difference in minutes
diff = DateDiff("n", t, tNow)

If diff > 7 Then
    Call ClearContents
End If

Application.EnableEvents = True