Событие изменения рабочего листа для запуска со временем - PullRequest
0 голосов
/ 25 октября 2019

Я хочу запустить простой макрос для очистки содержимого ячеек, когда время в ячейке F4 меняется менее чем на семь минут (эта ячейка обновляется 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 голосов
/ 25 октября 2019

Попробуйте это:

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
...