В Excel вы можете использовать VBA для запуска кода, который обновляет рабочий лист через определенные промежутки времени. Приведенный ниже код показывает, как вы будете активировать таймер каждый раз, когда рабочий лист активируется пользователем. Всякий раз, когда срабатывает таймер (с интервалом в 1 секунду), этот код обновляет ячейку A1 в ActiveSheet текущим временем.
Для дальнейшей настройки, вы должны добавить код к OnTimerMacro , чтобы обновить Картинку или что-то еще, что может быть вашей повторяющейся задачей.
(Рекомендует Хартмуту Герке за его пост по теме.)
Option Explicit
Dim Execute_TimerDrivenMacro As Boolean
Sub Start_OnTimerMacro()
Execute_TimerDrivenMacro = True
Application.OnTime Time + TimeValue("00:00:01"), ActiveSheet.Name & ".OnTimerMacro"
End Sub
Sub Stop_OnTimerMacro()
Execute_TimerDrivenMacro = False
End Sub
Public Sub OnTimerMacro()
If Execute_TimerDrivenMacro Then
' Do something e.g. put the actual time into cell A1 of the active sheet
ActiveSheet.Cells(1, 1).Value = Time
' At the end restart timer
Application.OnTime Time + TimeValue("00:00:01"), ActiveSheet.Name & ".OnTimerMacro"
End If
End Sub
Private Sub Worksheet_Activate()
'Start the timer driven method when opening the sheet
Start_OnTimerMacro
End Sub
Private Sub Worksheet_Deactivate()
'Stop the timer driven method when opening the sheet
Stop_OnTimerMacro
End Sub