Как сделать таймер как цифровые часы? - PullRequest
0 голосов
/ 03 мая 2018

Я пытался сделать цифровые часы в Excel. Итак, когда я открою книгу в ячейке, скажем, в ячейке E3 будет отображаться время, и оно будет продолжаться каждую секунду, так что оно будет похоже на цифровые часы. Я могу сделать это в Access, так как доступ Form имеет событие On Timer, где я могу написать код для отображения времени в Textbox. Есть ли альтернативный способ в Excel? Я попробовал ниже коды. Но коды нужно нажимать вручную на Button1. Можно ли сделать автоматическим запуск сабвуфера Button1_Click() каждую секунду?

Sub Button1_Click()
    Application.OnTime Now(), "RunningTime"
End Sub

Sub RunningTime()
    Range("E3") = Format(Now(), "hh:mm:ss")
End Sub

Я также попробовал метод Workbook_Open(), но он запускается один раз, когда я открываю файл.

Private Sub Workbook_Open()
    Application.OnTime Now(), "RunningTime"
End Sub

1 Ответ

0 голосов
/ 03 мая 2018

Нет прямого способа достичь этого, но вы можете применить некоторые приемы, чтобы сделать это. Сначала поместите следующие коды в Module.

Public Times As Boolean

Sub TimerRun()
    If Not Times Then Exit Sub
    Application.OnTime Now() + TimeValue("00:00:01"), "TimerRun"
    Range("E3").Value = Range("E3").Value + TimeValue("00:00:01")
End Sub

Sub TimerStop()
    Times = False
End Sub

Затем скопируйте приведенные ниже коды и вставьте в событие Workbook_Open().

Private Sub Workbook_Open()
    Range("E3").Value = Format(Now(), "HH:MM:SS")
    Times = True
    TimerRun
End Sub

Если вы хотите сделать кнопку запуска или остановки, чтобы можно было запускать / останавливать таймер вручную, нажав на кнопку, затем поместите командную кнопку управления формой, а затем назначьте подпрограмму TimerRun для запуска и назначьте TimerStop для остановки таймера. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...