Доброго времени суток Всем.
Прошу направить в решении идеи. Суть ее заключается в том, чтобы выполнять ряд ghjwtleh по указанному времени. Задачу разбил на блоки.
1. Создал таблицу, в которой под нумерацию указал численное значение для задержки выполнения макроса.
2. Создал процедуру, в котором указываю, какой временной промежуток брать из таблицы 1
Public pNum As Long
3. Создал таймер, который должен через массив находить время задержки кода, и выполнять код
Но нужного результата никак не могу достигнуть, задержки не происходит во время выполнения кода. Укажите пожалуйста направление. Заранее благодарю за помощь
Прошу направить в решении идеи. Суть ее заключается в том, чтобы выполнять ряд ghjwtleh по указанному времени. Задачу разбил на блоки.
1. Создал таблицу, в которой под нумерацию указал численное значение для задержки выполнения макроса.
2. Создал процедуру, в котором указываю, какой временной промежуток брать из таблицы 1
Public pNum As Long
Код |
---|
public pNum as Long 'Порядковый номер в таблице с нужным временем задержки Sub listAnalisys() pNum = 1 'Порядковый номер в таблице с нужным временем задержки PtimerSchet ' Запуск таймера EffEng ' Выполнение нужной процедуры pNum = 2 'Порядковый номер в таблице с нужным временем задержки PtimerSchet ' Запуск таймера EffRus ' Выполнение нужной процедуры pNum = 3 'Порядковый номер в таблице с нужным временем задержки PtimerSchet ' Запуск таймера EffAll ' Выполнение нужной процедуры pNum = 4 'Порядковый номер в таблице с нужным временем задержки PtimerSchet ' Запуск таймера Total ' Выполнение нужной процедуры End Sub |
Код |
---|
Public pTime As Date Sub PtimerSchet() 'Таймер Dim mA() mA = Лист5.Range("A2:B51").Value 'таблица с указанием номера и времени задержки срабатывания процедуры For i = 1 To 52 If mA(i, 1) = pNum Then 'Перебираем массив чтобы найти нужное время задержки pTime = TimeValue("0:00:0" & mA(i, 2)) schetchik Exit For End If Next i End Sub '------------------------------------------------------------------------ Sub schetchik() Application.ScreenUpdating = False pTime = pTime - TimeValue("0:00:01") If pTime > 0 Then Application.OnTime Now + TimeValue("00:00:01"), "schetchik" ' Выполняем перезапуск процедуры с задержкой в 1 сек Else Application.ScreenUpdating = True Exit Sub 'В момент когда pTime будет равен 0, завершаем процедуру End If End Sub |
Но нужного результата никак не могу достигнуть, задержки не происходит во время выполнения кода. Укажите пожалуйста направление. Заранее благодарю за помощь