Здравствуйте, форумчане.
Возник вопрос по макросу, связанным с временем.
Макрос раз в пять секунд - обновляет время в ячейке A1.
Вопрос такой : как вводить по этому таймеру - время с нулевого уровня, то есть с 00:00:00 ?
Каждые 5 секунд - макрос добавляет 5 секунд - в ячейку А1, а когда время будет 23:59:59 - макрос бы добавил 1 - в ячейку B1 и начал бы заполнение А1 опять с нулевого значения.
Возник вопрос по макросу, связанным с временем.
Макрос раз в пять секунд - обновляет время в ячейке A1.
Код |
---|
Option Explicit Dim IsTimerRun As Long #If VBA7 Then Declare PtrSafe Function SetTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr, ByVal uElapse As Long, ByVal lpTimerFunc As LongPtr) As LongPtr Declare PtrSafe Function KillTimer Lib "user32" (ByVal hwnd As LongPtr, ByVal nIDEvent As LongPtr) As Long #Else Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long #End If Sub TimerProc(ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) On Error Resume Next Range("A1") = Time End Sub Sub StartCounter() If IsTimerRun > 0 Then Else SetTimer Application.hwnd, 0, 1000, AddressOf TimerProc IsTimerRun = 1 End If End Sub Sub StopCounter() If IsTimerRun > 0 Then KillTimer Application.hwnd, 0 IsTimerRun = 0 End If End Sub |
Каждые 5 секунд - макрос добавляет 5 секунд - в ячейку А1, а когда время будет 23:59:59 - макрос бы добавил 1 - в ячейку B1 и начал бы заполнение А1 опять с нулевого значения.