Саш, Application.OnTime вообще-то лучше не использовать. Иначе будет невозможно на других листах книги работать. А я, когда лист покидаю, цикл прерываю. А возобновляю его только при активации листа.
Саш, Application.OnTime вообще-то лучше не использовать. Иначе будет невозможно на других листах книги работать. А я, когда лист покидаю, цикл прерываю. А возобновляю его только при активации листа.Alex_ST
организовать проект, который бы отсчитывал время с момента старта рабочего дня. Т.е. нажал на кнопку и начиная с 0:00:00 время побежало.
Ну да. И пошёл курить на весь день, т.к. Excel стал неюзабельным Хотя, никто не спорит, кроме Excel'я есть ещё множество других увлекательных программ, которыми вполне можно убить рабочий день без вреда для здоровья окружающих
организовать проект, который бы отсчитывал время с момента старта рабочего дня. Т.е. нажал на кнопку и начиная с 0:00:00 время побежало.
Ну да. И пошёл курить на весь день, т.к. Excel стал неюзабельным Хотя, никто не спорит, кроме Excel'я есть ещё множество других увлекательных программ, которыми вполне можно убить рабочий день без вреда для здоровья окружающих Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Вторник, 28.10.2014, 16:27
Option Explicit Dim TStart!, TFinish!, bStop As Boolean
Private Sub Worksheet_Activate() CommandButton1.Caption = "Reset" [A1] = Int(TFinish - TStart) Cycle End Sub
Private Sub CommandButton1_Click() TStart = Timer: TFinish = Timer: bStop = True ToggleButton1 = False: ToggleButton1.Caption = "Start" [A1] = Int(TFinish - TStart) End Sub
Private Sub ToggleButton1_Click() ToggleButton1.Caption = IIf(ToggleButton1, "Stop", "Start") bStop = Not ToggleButton1 If Not bStop And ToggleButton1 Then Cycle End Sub
Private Sub Cycle() Do While ActiveSheet.Name = Me.Name If bStop Or Not ToggleButton1 Then Exit Do If Timer = Int(Timer) Then TFinish = Timer: [A1] = Int(TFinish - TStart) DoEvents Loop End Sub
[/vba]
Ну да... Где-то в логике косяк. Что-то не могу пока въехать, где? А дома вряд ли займусь - дел полно.
Чуть полирнул
[vba]
Код
Option Explicit Dim TStart!, TFinish!, bStop As Boolean
Private Sub Worksheet_Activate() CommandButton1.Caption = "Reset" [A1] = Int(TFinish - TStart) Cycle End Sub
Private Sub CommandButton1_Click() TStart = Timer: TFinish = Timer: bStop = True ToggleButton1 = False: ToggleButton1.Caption = "Start" [A1] = Int(TFinish - TStart) End Sub
Private Sub ToggleButton1_Click() ToggleButton1.Caption = IIf(ToggleButton1, "Stop", "Start") bStop = Not ToggleButton1 If Not bStop And ToggleButton1 Then Cycle End Sub
Private Sub Cycle() Do While ActiveSheet.Name = Me.Name If bStop Or Not ToggleButton1 Then Exit Do If Timer = Int(Timer) Then TFinish = Timer: [A1] = Int(TFinish - TStart) DoEvents Loop End Sub
[/vba]
Ну да... Где-то в логике косяк. Что-то не могу пока въехать, где? А дома вряд ли займусь - дел полно.Alex_ST
И в дополнение - а вот помните, была такая тема? Там, имхо, с таймерами вообще настрадано столько, что только бери и пользуйся на большинство случаев
И в дополнение - а вот помните, была такая тема? Там, имхо, с таймерами вообще настрадано столько, что только бери и пользуйся на большинство случаев AndreTM