Доброго времени суток Всем.
Прошу направить в решении идеи. Суть ее заключается в том, чтобы выполнять ряд 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 |
Но нужного результата никак не могу достигнуть, задержки не происходит во время выполнения кода. Укажите пожалуйста направление. Заранее благодарю за помощь