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

Вход

Регистрация

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

 

= Мир MS Excel/Изменяющее время в Excel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменяющее время в Excel
Изменяющее время в Excel
Денис Дата: Суббота, 22.12.2012, 21:42 | Сообщение № 1
Группа: Гости
Подскажите, как можно вставить время в ячейку (Например В21) время, в котором будет отражаться и часы, и минуты, и секунды, которые будут меняться в зависимости от системного времени компьютера? (т.е. чтоб каждую секунду время в ячейку менялось))
 
Ответить
СообщениеПодскажите, как можно вставить время в ячейку (Например В21) время, в котором будет отражаться и часы, и минуты, и секунды, которые будут меняться в зависимости от системного времени компьютера? (т.е. чтоб каждую секунду время в ячейку менялось))

Автор - Денис
Дата добавления - 22.12.2012 в 21:42
Gustav Дата: Суббота, 22.12.2012, 21:53 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Примеры макросов можно поискать на форуме по строке OnTime

А сделать примерно так (см.в прилагаемом файле):
[vba]
Код
'код в модуль книги (ЭтаКнига)
Private Sub Workbook_Open()
       Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub

'код в общий модуль (Module1)
Sub ShowWatch()
       Sheets(1).Range("A1").Value = Now - Date
       Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub
[/vba]
Ну, и конечно на ячейку со временем надо наложить формат времени (вручную).
К сообщению приложен файл: ShowWatch.xls (35.0 Kb)


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Суббота, 22.12.2012, 22:15
 
Ответить
СообщениеПримеры макросов можно поискать на форуме по строке OnTime

А сделать примерно так (см.в прилагаемом файле):
[vba]
Код
'код в модуль книги (ЭтаКнига)
Private Sub Workbook_Open()
       Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub

'код в общий модуль (Module1)
Sub ShowWatch()
       Sheets(1).Range("A1").Value = Now - Date
       Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub
[/vba]
Ну, и конечно на ячейку со временем надо наложить формат времени (вручную).

Автор - Gustav
Дата добавления - 22.12.2012 в 21:53
Саня Дата: Суббота, 22.12.2012, 22:30 | Сообщение № 3
Группа: Друзья
Ранг: Ветеран
Сообщений: 1068
Репутация: 560 ±
Замечаний: 0% ±

XL 2016
по-сути, одно и то же, но здесь есть один суть важный момент - выключение запланированного события
[vba]
Код
Private NextTick As Date

Sub Ввод_времени()
'   Обновляет содержимое ячейки A1 текущим временем
      Cells(1, 1) = Time
'   Запускает следующее событие через секунду после настоящего
      NextTick = Now + TimeValue("00:00:01")
      Application.OnTime NextTick, "Ввод_времени"
End Sub

Sub Остановка_времени()
      On Error Resume Next
      Application.OnTime NextTick, "Ввод_времени", , False
End Sub
[/vba]
К сообщению приложен файл: 5083714.xls (32.5 Kb)
 
Ответить
Сообщениепо-сути, одно и то же, но здесь есть один суть важный момент - выключение запланированного события
[vba]
Код
Private NextTick As Date

Sub Ввод_времени()
'   Обновляет содержимое ячейки A1 текущим временем
      Cells(1, 1) = Time
'   Запускает следующее событие через секунду после настоящего
      NextTick = Now + TimeValue("00:00:01")
      Application.OnTime NextTick, "Ввод_времени"
End Sub

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

Автор - Саня
Дата добавления - 22.12.2012 в 22:30
Денис Дата: Воскресенье, 23.12.2012, 00:13 | Сообщение № 4
Группа: Гости
Спасибо, все работает!))
 
Ответить
СообщениеСпасибо, все работает!))

Автор - Денис
Дата добавления - 23.12.2012 в 00:13
Обратный отсчет Дата: Воскресенье, 30.12.2012, 12:40 | Сообщение № 5
Группа: Гости
Здравствуйте!

С наступающим!

А как сделать в ячейке a1 оставшееся время (обратный отсчет с точностью до секунды - конечная дата указывается в макросе) для макроса в файле 5083714.xls из поста #3?

Спасибо.
 
Ответить
СообщениеЗдравствуйте!

С наступающим!

А как сделать в ячейке a1 оставшееся время (обратный отсчет с точностью до секунды - конечная дата указывается в макросе) для макроса в файле 5083714.xls из поста #3?

Спасибо.

Автор - Обратный отсчет
Дата добавления - 30.12.2012 в 12:40
AlexM Дата: Воскресенье, 30.12.2012, 12:53 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4480
Репутация: 1114 ±
Замечаний: 0% ±

Excel 2003
Замените строку
[vba]
Код
Cells(1, 1) = Time
[/vba]
на такую
[vba]
Код
Cells(1, 1) = DateSerial(2013, 1, 1) - Now
[/vba]
Формат ячейки А1 типа [ч]:мм:сс



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.


Сообщение отредактировал AlexM - Воскресенье, 30.12.2012, 12:54
 
Ответить
СообщениеЗамените строку
[vba]
Код
Cells(1, 1) = Time
[/vba]
на такую
[vba]
Код
Cells(1, 1) = DateSerial(2013, 1, 1) - Now
[/vba]
Формат ячейки А1 типа [ч]:мм:сс

Автор - AlexM
Дата добавления - 30.12.2012 в 12:53
DateSerial Дата: Воскресенье, 30.12.2012, 15:59 | Сообщение № 7
Группа: Гости
Спасибо, но, в результате отображается время до конца сегодняшнего дня, а по идее должно было прибавить еще 24 часа.
При изменении параметра DateSerial(2013, 1, 2), количество оставшегося времени остается неизменным - чуть более 8 ч.
 
Ответить
СообщениеСпасибо, но, в результате отображается время до конца сегодняшнего дня, а по идее должно было прибавить еще 24 часа.
При изменении параметра DateSerial(2013, 1, 2), количество оставшегося времени остается неизменным - чуть более 8 ч.

Автор - DateSerial
Дата добавления - 30.12.2012 в 15:59
Sorry! Дата: Воскресенье, 30.12.2012, 16:01 | Сообщение № 8
Группа: Гости
Изменил формат времени и все заработало! Спасибо!
 
Ответить
СообщениеИзменил формат времени и все заработало! Спасибо!

Автор - Sorry!
Дата добавления - 30.12.2012 в 16:01
Pulse Дата: Воскресенье, 30.12.2012, 21:38 | Сообщение № 9
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 213
Репутация: 16 ±
Замечаний: 0% ±

2013
Тут часы со стрелкой. И кое что ещё интересное.
 
Ответить
СообщениеТут часы со стрелкой. И кое что ещё интересное.

Автор - Pulse
Дата добавления - 30.12.2012 в 21:38
Мур Дата: Понедельник, 31.12.2012, 14:41 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Здорово!
Кто автор?
 
Ответить
СообщениеЗдорово!
Кто автор?

Автор - Мур
Дата добавления - 31.12.2012 в 14:41
Pulse Дата: Понедельник, 31.12.2012, 15:50 | Сообщение № 11
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 213
Репутация: 16 ±
Замечаний: 0% ±

2013
 
Ответить
Мур Дата: Среда, 02.01.2013, 12:25 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 436
Репутация: 19 ±
Замечаний: 0% ±

Pulse, спасибо за ссылку!
Там есть над чем подумать.
 
Ответить
СообщениеPulse, спасибо за ссылку!
Там есть над чем подумать.

Автор - Мур
Дата добавления - 02.01.2013 в 12:25
Артём СРОЧНО ПОМОГИТЕ !!! Дата: Четверг, 30.05.2013, 16:34 | Сообщение № 13
Группа: Гости
Доброго дня!!!

Макрос запрограммировал так:
[vba]
Код
Sub ShowWatch()
Sheets(1).Range("N6").Value = Now - Date
Sheets(1).Range("N13").Value = Now - Date
Sheets(1).Range("N16").Value = Now - Date
Sheets(1).Range("N20").Value = Now - Date
Sheets(1).Range("N36").Value = Now - Date
Sheets(1).Range("N24").Value = Now - Date
Sheets(1).Range("N36").Value = Now - Date
Sheets(1).Range("N41").Value = Now - Date
Sheets(1).Range("N46").Value = Now - Date
Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub
[/vba]

Изменяющее время в Excel указанных ячейках показывает. Я работаю от Москвы до Калининграда мне надо чтобы в разных ячеках показывало время по в зависимости от часового пояса. Пример - Sheets(1).Range("N41").Value = Now + 1 (где 1 это +1 час) Подскажите плиззз
 
Ответить
СообщениеДоброго дня!!!

Макрос запрограммировал так:
[vba]
Код
Sub ShowWatch()
Sheets(1).Range("N6").Value = Now - Date
Sheets(1).Range("N13").Value = Now - Date
Sheets(1).Range("N16").Value = Now - Date
Sheets(1).Range("N20").Value = Now - Date
Sheets(1).Range("N36").Value = Now - Date
Sheets(1).Range("N24").Value = Now - Date
Sheets(1).Range("N36").Value = Now - Date
Sheets(1).Range("N41").Value = Now - Date
Sheets(1).Range("N46").Value = Now - Date
Application.OnTime Now + TimeSerial(0, 0, 1), "ShowWatch"
End Sub
[/vba]

Изменяющее время в Excel указанных ячейках показывает. Я работаю от Москвы до Калининграда мне надо чтобы в разных ячеках показывало время по в зависимости от часового пояса. Пример - Sheets(1).Range("N41").Value = Now + 1 (где 1 это +1 час) Подскажите плиззз

Автор - Артём СРОЧНО ПОМОГИТЕ !!!
Дата добавления - 30.05.2013 в 16:34
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Изменяющее время в Excel
  • Страница 1 из 1
  • 1
Поиск:

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