Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Пауза 20 минут после срабатывания макроса. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пауза 20 минут после срабатывания макроса. (Макросы/Sub)
Пауза 20 минут после срабатывания макроса.
S-freez Дата: Четверг, 25.02.2016, 11:11 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Имеется макрос
[vba]
Код

Private Sub Worksheet_Calculate()
If Range("Q3").Value <> 0 Then
Call Макрос1
End If
If Range("R3").Value <> 0 Then
Call Макрос2
End If
End Sub

Sub Макрос1()
If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub

Sub Макрос2()
If [R3] = 0 Then Exit Sub Else MsgBox (321)
End Sub
[/vba]
Нужно чтобы Макрос1 при срабатывании, больше не срабатывал в течении 20 минут. Аналогично и для Макрос2
[moder]Повторное нарушение п.3 Правил форума в части тегов.
Пока не поправите - ответы буду удалять.


Сообщение отредактировал S-freez - Четверг, 25.02.2016, 11:24
 
Ответить
СообщениеИмеется макрос
[vba]
Код

Private Sub Worksheet_Calculate()
If Range("Q3").Value <> 0 Then
Call Макрос1
End If
If Range("R3").Value <> 0 Then
Call Макрос2
End If
End Sub

Sub Макрос1()
If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub

Sub Макрос2()
If [R3] = 0 Then Exit Sub Else MsgBox (321)
End Sub
[/vba]
Нужно чтобы Макрос1 при срабатывании, больше не срабатывал в течении 20 минут. Аналогично и для Макрос2
[moder]Повторное нарушение п.3 Правил форума в части тегов.
Пока не поправите - ответы буду удалять.

Автор - S-freez
Дата добавления - 25.02.2016 в 11:11
Апострофф Дата: Четверг, 25.02.2016, 11:21 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 448
Репутация: 124 ±
Замечаний: 0% ±

Excel 1997
Можно примерно так попробовать -
[vba]
Код
Sub Макрос1()
static dt as date
If [Q3] <> 0 Then
  if dt=0or dt+1/72>=now then
    dt=now
    MsgBox (123)
  endif
endif
End Sub
[/vba]


Сообщение отредактировал Апострофф - Четверг, 25.02.2016, 11:41
 
Ответить
СообщениеМожно примерно так попробовать -
[vba]
Код
Sub Макрос1()
static dt as date
If [Q3] <> 0 Then
  if dt=0or dt+1/72>=now then
    dt=now
    MsgBox (123)
  endif
endif
End Sub
[/vba]

Автор - Апострофф
Дата добавления - 25.02.2016 в 11:21
Wasilich Дата: Четверг, 25.02.2016, 12:44 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Или так:
[vba]
Код
Sub Макрос1()
    Static tm1 As Date
    If tm1 > Time() Then Exit Sub
    tm1 = Time() + TimeValue("00:20:00")

    If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]
ЗЫ. Надежнее будет, использовать ячейку для записи время срабатывания макроса.
типа так[vba]
Код
Sub Макрос1()
    If Range("A1") > Time() Then Exit Sub
    Range("A1") = Time() + TimeValue("00:20:00")

    If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]


Сообщение отредактировал Wasilic - Четверг, 25.02.2016, 13:38
 
Ответить
СообщениеИли так:
[vba]
Код
Sub Макрос1()
    Static tm1 As Date
    If tm1 > Time() Then Exit Sub
    tm1 = Time() + TimeValue("00:20:00")

    If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]
ЗЫ. Надежнее будет, использовать ячейку для записи время срабатывания макроса.
типа так[vba]
Код
Sub Макрос1()
    If Range("A1") > Time() Then Exit Sub
    Range("A1") = Time() + TimeValue("00:20:00")

    If [Q3] = 0 Then Exit Sub Else MsgBox (123)
End Sub
[/vba]

Автор - Wasilich
Дата добавления - 25.02.2016 в 12:44
S-freez Дата: Четверг, 25.02.2016, 14:20 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Спасибо за ответы. Применил самый последний вариант)
 
Ответить
СообщениеСпасибо за ответы. Применил самый последний вариант)

Автор - S-freez
Дата добавления - 25.02.2016 в 14:20
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Пауза 20 минут после срабатывания макроса. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!