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

Вход

Регистрация

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

 

= Мир MS Excel/Таймер отсчета обратного времени до даты - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Таймер отсчета обратного времени до даты
Katastrofa Дата: Понедельник, 29.05.2017, 11:28 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
Добрый день. Задача установить таймер отсчета обратного времени до даты. Сделала простейший в виде формулы, но он не показывает "в режиме реального" времени. Макросы что нашла в других темах не понятны, в плане куда вносить дату и время
 
Ответить
СообщениеДобрый день. Задача установить таймер отсчета обратного времени до даты. Сделала простейший в виде формулы, но он не показывает "в режиме реального" времени. Макросы что нашла в других темах не понятны, в плане куда вносить дату и время

Автор - Katastrofa
Дата добавления - 29.05.2017 в 11:28
vikttur Дата: Понедельник, 29.05.2017, 11:32 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
Сделала простейший в виде формулы...

Показать не хотите?
Цитата
Макросы что нашла...

Где? Какие?

Цитата
таймер отсчета обратного времени до даты.

Если файл не открыт круглосуточно, зачем в реальном времени? Поможет простейшая формула с функцией СЕГОДНЯ()


Сообщение отредактировал vikttur - Понедельник, 29.05.2017, 11:35
 
Ответить
Сообщение
Цитата
Сделала простейший в виде формулы...

Показать не хотите?
Цитата
Макросы что нашла...

Где? Какие?

Цитата
таймер отсчета обратного времени до даты.

Если файл не открыт круглосуточно, зачем в реальном времени? Поможет простейшая формула с функцией СЕГОДНЯ()

Автор - vikttur
Дата добавления - 29.05.2017 в 11:32
Katastrofa Дата: Понедельник, 29.05.2017, 11:37 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
Ссылка на макрос http://www.excelworld.ru/forum/10-3112-1
К сообщению приложен файл: 8004537.xlsx (9.4 Kb)
 
Ответить
СообщениеСсылка на макрос http://www.excelworld.ru/forum/10-3112-1

Автор - Katastrofa
Дата добавления - 29.05.2017 в 11:37
Katastrofa Дата: Понедельник, 29.05.2017, 11:41 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
нужен счетчик в реальном времени.
 
Ответить
Сообщениенужен счетчик в реальном времени.

Автор - Katastrofa
Дата добавления - 29.05.2017 в 11:41
vikttur Дата: Понедельник, 29.05.2017, 11:47 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Немного доработанный код из сообщения по ссылке.
[vba]
Код
Private NextTick As Date, dFinish As Date

Sub StartTimer()
    dFinish = Cells(8, 5).Value: Call Ввод_времени
End Sub

Sub Ввод_времени()
    If dFinish - Time <= 0 Then
        MsgBox "Время истекло!", 64, "ТАЙМЕР"
        Exit Sub
    Else
        Range("B8").Value = Now
        Range("B9").Value = dFinish - Now
        
        NextTick = Now + TimeValue("00:00:01")
        Application.OnTime NextTick, "Ввод_времени"
    End If
End Sub

Sub Остановка_времени()
    On Error Resume Next
    Application.OnTime NextTick, "Ввод_времени", , False
End Sub
[/vba]


Сообщение отредактировал vikttur - Понедельник, 29.05.2017, 23:19
 
Ответить
СообщениеНемного доработанный код из сообщения по ссылке.
[vba]
Код
Private NextTick As Date, dFinish As Date

Sub StartTimer()
    dFinish = Cells(8, 5).Value: Call Ввод_времени
End Sub

Sub Ввод_времени()
    If dFinish - Time <= 0 Then
        MsgBox "Время истекло!", 64, "ТАЙМЕР"
        Exit Sub
    Else
        Range("B8").Value = Now
        Range("B9").Value = dFinish - Now
        
        NextTick = Now + TimeValue("00:00:01")
        Application.OnTime NextTick, "Ввод_времени"
    End If
End Sub

Sub Остановка_времени()
    On Error Resume Next
    Application.OnTime NextTick, "Ввод_времени", , False
End Sub
[/vba]

Автор - vikttur
Дата добавления - 29.05.2017 в 11:47
Katastrofa Дата: Понедельник, 29.05.2017, 13:02 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
тот вариант таймера к сожалению мне не подходит, он срабатывает по запуску. а нужен как в приложенном мной файле 8004537.xlsx
 
Ответить
Сообщениетот вариант таймера к сожалению мне не подходит, он срабатывает по запуску. а нужен как в приложенном мной файле 8004537.xlsx

Автор - Katastrofa
Дата добавления - 29.05.2017 в 13:02
vikttur Дата: Понедельник, 29.05.2017, 16:26 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Так это уже не тот вариант )
Цитата
он срабатывает по запуску

Любой код срабатывает по запуску: вручную, при открытии книги, по событию листа...

Можно первую процедуру вставить в модуль листа, [vba]
Код
Sub StartTimer()
[/vba]заменить на
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("E8"), Target) Is Nothing Then
.....
[/vba]
Таймер будет запускаться при изменении граничной даты в Е8. Но это если фйл открыт круглосуточно, иначе придется после открытия книги изменять значение Е8

Вам что нужно?


Сообщение отредактировал vikttur - Понедельник, 29.05.2017, 16:30
 
Ответить
СообщениеТак это уже не тот вариант )
Цитата
он срабатывает по запуску

Любой код срабатывает по запуску: вручную, при открытии книги, по событию листа...

Можно первую процедуру вставить в модуль листа, [vba]
Код
Sub StartTimer()
[/vba]заменить на
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("E8"), Target) Is Nothing Then
.....
[/vba]
Таймер будет запускаться при изменении граничной даты в Е8. Но это если фйл открыт круглосуточно, иначе придется после открытия книги изменять значение Е8

Вам что нужно?

Автор - vikttur
Дата добавления - 29.05.2017 в 16:26
Katastrofa Дата: Понедельник, 29.05.2017, 18:40 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
Мне нужно чтобы в одну ячейку я вписывала дату и время отсечения, и таймер бы считал сколько дней, чч.мин.сек осталось до этой даты
 
Ответить
СообщениеМне нужно чтобы в одну ячейку я вписывала дату и время отсечения, и таймер бы считал сколько дней, чч.мин.сек осталось до этой даты

Автор - Katastrofa
Дата добавления - 29.05.2017 в 18:40
vikttur Дата: Понедельник, 29.05.2017, 19:28 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Я Вам это и показал
 
Ответить
СообщениеЯ Вам это и показал

Автор - vikttur
Дата добавления - 29.05.2017 в 19:28
Katastrofa Дата: Понедельник, 29.05.2017, 19:41 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
А можно в файле мною прикрепленном? Потому что вставляя этот код у меня получается время истекло и ничего не показывает, ни дату ни то что 0
 
Ответить
СообщениеА можно в файле мною прикрепленном? Потому что вставляя этот код у меня получается время истекло и ничего не показывает, ни дату ни то что 0

Автор - Katastrofa
Дата добавления - 29.05.2017 в 19:41
vikttur Дата: Понедельник, 29.05.2017, 19:46 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Запуск при изменении значения Е8 или кнопкой
К сообщению приложен файл: 4560102.xlsm (18.5 Kb)


Сообщение отредактировал vikttur - Понедельник, 29.05.2017, 20:02
 
Ответить
СообщениеЗапуск при изменении значения Е8 или кнопкой

Автор - vikttur
Дата добавления - 29.05.2017 в 19:46
Katastrofa Дата: Понедельник, 29.05.2017, 21:39 | Сообщение № 12
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
Вы мой герой) А чтобы таймер запускался автоматически при открытии книги нужно заменить Sub StartTimer() на Sub Workbook_Open() верно?
 
Ответить
СообщениеВы мой герой) А чтобы таймер запускался автоматически при открытии книги нужно заменить Sub StartTimer() на Sub Workbook_Open() верно?

Автор - Katastrofa
Дата добавления - 29.05.2017 в 21:39
vikttur Дата: Понедельник, 29.05.2017, 21:45 | Сообщение № 13
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Не только заменить, но и перенести в модуль книги.
Но лучше разместить в модуле дополнительный код
[vba]
Код
Sub Workbook_Open()
    Call StartTimer
End Sub
[/vba]
В этом случае предыдущие варианты останутся рботоспособными
 
Ответить
СообщениеНе только заменить, но и перенести в модуль книги.
Но лучше разместить в модуле дополнительный код
[vba]
Код
Sub Workbook_Open()
    Call StartTimer
End Sub
[/vba]
В этом случае предыдущие варианты останутся рботоспособными

Автор - vikttur
Дата добавления - 29.05.2017 в 21:45
Katastrofa Дата: Понедельник, 29.05.2017, 21:51 | Сообщение № 14
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 6 ±
Замечаний: 0% ±

2010
Спасибо за быстрое и понятное даже мне "чайнику" решение вопроса! Всё получилось благодаря Вам.
 
Ответить
СообщениеСпасибо за быстрое и понятное даже мне "чайнику" решение вопроса! Всё получилось благодаря Вам.

Автор - Katastrofa
Дата добавления - 29.05.2017 в 21:51
  • Страница 1 из 1
  • 1
Поиск:

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