Спасибо. Но вроде выкрутился через DoEvents.
А можно по подробнее, вот у меня через таймер:
Sub qwert()
On Error Resume Next 'если попадается ошибка, то клиенты обычно не понимают что делать - макрос безнадежно останавливается. Эта функция позволяет в этом макросе игнорировать ошибки и продолжать дальше выполнение кода
Dim servermin As String 'определение переменной как строковой(читай книгу по языку) - не помню зачем...
servermin = 0 'возникали ошибки какие-то пришлось это ввести
If Лист1.Cells(6, 2) <> "Работает" Then GoTo ends 'если не работает то идем в конец
If Лист1.Cells(8, 2) <> "" Then servermin = Round(Лист1.Cells(8, 3), 1) 'время сервера получаем
kolich = 0 'возникали ошибки какие-то пришлось это ввести
aaa = 0
Лист1.Cells(9, 1) = servermin
If Лист1.Cells(7, 3) = "ОТКРЫТА" Then 'это понятно
servermin = Round(Лист1.Cells(8, 3), 1) 'чтение переменной слева до 2го знака(читай книгу)
'Лист1.Cells(8, 1) = servermin
'servermin = Right(servermin, 1) 'чтение получившейся перпеменной справа на 1 знак - получаем окончание минут (например 10:37:56 - получаем 7. Это для того что бы прога понимала что закончилась пятиминутка - смотри дальше)
Лист1.Cells(9, 2) = servermin
If servermin >= 1 And Лист1.Cells(6, 2) = "Работает"
Then 'если текущая минута 0 или 5, а секунду назад нет, то значт наступила новая пятиминутка. В конце кода записываем в Лист1.Cells(1, 35) текущую минуту - она в след-ий раз станет прошлой минутой для сравнивания
If Лист1.Cells(100, 20) = "Zanovo" Then 'если начали заново расчет то пропускаем расчет и записываем тущую минуту в историю - ведь нам надо получить хоть какую-то историю а не сравнивать с нулями
If Лист1.Cells(15, 101) = "" Then GoTo ends1
End If
For i = 15 To 25 'этот цикл глобален и позволяет работать с каждой строкой (с каждой бумагой соответственно) и запусскается соотв-но 10 раз.Кончается далеко внизу
For R = 15 To 25 'этот цикл для получения инфы о кол-ве используемых бумагах для расчета равномерного распределения всех средств между ними
If Лист1.Cells(R, 11) = "Исп-ть" Then
kolich = kolich + 1
End If
и т.д. это тело проги опроса ечеек, а вот в конце , делаю так:
End If
End If
ends:
Application.OnTime Now + TimeValue("00:00:01"), "qwert" 'запуск макроса этого же через секунду. Чаще никак не получается
End Sub -
cобственно тут и сам таймер, а вот
как увязать без загрузки проца, и сдесь обновление раз в секунду, ну чаще не получалось
-????????????????????????
??????