Страницы: 1
RSS
Запуск макроса по времени
 
Всем привет!
Есть вот такой код
Код
Private Sub Workbook_Open()
If Time < "10:00:00" Then
Application.ScreenUpdating = False 'отключаем обновление экрана
Application.Calculation = xlCalculationManual ' отключаем пересчет формул
Application.EnableEvents = False ' отключаем отслеживание событий
MsgBox "Идет обновление формул, не закрывайте журнал. Для продолжения нажмите ОК"
Call Кпии_формул_проверки_осн ' вставляем макрос вставки и протягивания формул
 Sheets("Основные линии").Select
Call УФ_вставка ' вставляем условное форматирование
Sheets("Теплоспутники").Select
Call УФ_вставка
Sheets("Опоры").Select
Call УФ_вставка
 Sheets("Основные линии").Select
    Range("B1").Select
   
    Application.Calculation = xlAutomatic 'включаем обновление экрана
    Application.ScreenUpdating = True ' включаем пересчет формул
    Application.EnableEvents = True ' включаем отслеживание событий
    
       MsgBox "Спасибо!  Можно приступать к работе "
   End If
End Sub

но срабатывает он не всегда, а на некоторых компах вообще не срабатывает, хотя все возможные блокировки отключены, запуск макросов разрешён. Могу предположить, что на компах разные версии офисов. Расположение кода в модуле книги
Изменено: adamm - 28.10.2019 09:27:04
 
Привет, adamm,
Вторая строка-
Код
if time < cdate("10:00:00")then

???
 
Вполне может быть что на некоторых компах тоже кто-то отработал
Код
Application.EnableEvents = False 

а вернуть не получилось...
 
Цитата
Апострофф написал:
Вторая строка-
Вот не нужно так писать. Приучайтесь сразу использовать константы
Код
Const MaxTime=#10:00:00#

If Time < MaxTime Then


А то работает то нет по тому, что у кого то время не в формате 24  например и "9:40 AM" < "10:00:00"  = False
По вопросам из тем форума, личку не читаю.
 
ОК, учту все замечания, большое спасибо!
Страницы: 1
Наверх