Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы Поиск в этой теме
Старый 11.03.2012, 18:37   #1
SL1M_DOGG
Пользователь
 
Регистрация: 08.06.2009
Сообщений: 96
По умолчанию что делает код (VBA)

Это код будильника.
В VBA новичок. Не могу понять что происходит в этом коде

Код:
Option Explicit
Public lastC As Long
Public NextRun As Double, STt As Double, stopped As Boolean

Sub StartTimer()
    [c1] = IIf([c1] >= [f1], [c1] + 2, 0)
    stopped = False
    If NextRun <> 0 Then MsgBox "Already running...": Exit Sub
    STt = Now
    RunTimer
End Sub

Sub StopTimer()
    stopped = True    ' ручной останов таймера
    Cells(2, 1) = Now - STt
    NextRun = 0
End Sub

Sub RunTimer()
    stopped = stopped Or ([b1] = "3" And STt <> Now)     ' если в ячейке В1 находится тройка, то таймер остановится
    If stopped Then NextRun = 0: Exit Sub    ' если stopped=true, то больше не планируем запуск процедуры
    NextRun = Now + TimeSerial(0, 0, 1)
    Application.OnTime NextRun, "RunTimer"
    [a2] = Now - STt
    [c1] = [c1] + 2: lastC = [c1]
End Sub

Sub Обработка()
    Cells(1, 3) = Cells(1, 3).Value + 1
    StartTimer
End Sub
SL1M_DOGG вне форума Ответить с цитированием
Старый 11.03.2012, 20:06   #2
IgorGO
МегаМодератор
СуперМодератор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

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

а таймер ничего не делает только в А2 показывает время, которое прошло с момента STt. в С1 он показывает количество секунд с момента STt умноженное на 2.

остановить его можно выполнив StopTimer или написав "3" в В1.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
есть код,а вот что он делает? anton6262906 Общие вопросы C/C++ 10 30.12.2011 14:00
Что делает этот код? Alex_sim Общие вопросы C/C++ 10 03.03.2010 23:45
Что делает код AllForCS PHP 1 24.02.2010 00:50
Подскажите пожалуйста что делает этот код SlashMan JavaScript, Ajax 3 10.01.2010 22:41
Что делает этот код? lucky Общие вопросы Delphi 4 17.06.2009 17:02