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

Вход

Регистрация

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

 

= Мир MS Excel/Как заморозить текущую дату при вводе данных. - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Как заморозить текущую дату при вводе данных.
ЕленаG Дата: Суббота, 06.04.2013, 11:56 | Сообщение № 1
Группа: Гости
Добрый день. Подскажите, как решить следующую задачу. В ячейку А вводится дата/время, в ячейке В должна быть текущая дата/время, а в ячейке С вычисление разницы по времени между А и В, при этом ячейка С не должна меняться и зависеть от текущего времени. Одним словом, при вводе информации в ячейку А, текущее время должно заморозиться в этот момент и быть неизменным, если только в ячейку А вновь не внесут данные.
Надеюсь, что понятно объяснила. Буду очень признательная за помощь!!
 
Ответить
СообщениеДобрый день. Подскажите, как решить следующую задачу. В ячейку А вводится дата/время, в ячейке В должна быть текущая дата/время, а в ячейке С вычисление разницы по времени между А и В, при этом ячейка С не должна меняться и зависеть от текущего времени. Одним словом, при вводе информации в ячейку А, текущее время должно заморозиться в этот момент и быть неизменным, если только в ячейку А вновь не внесут данные.
Надеюсь, что понятно объяснила. Буду очень признательная за помощь!!

Автор - ЕленаG
Дата добавления - 06.04.2013 в 11:56
AlexM Дата: Суббота, 06.04.2013, 12:51 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Это можно сделать макросом.
Код вставить в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing And IsDate(Target) Then
Target.Offset(0, 1) = Now
Target.Offset(0, 2) = Int(Now - Target) & " " & Format(Now - Target - Int(Now - Target), "hh:mm")
End If
End Sub
[/vba]



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЭто можно сделать макросом.
Код вставить в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing And IsDate(Target) Then
Target.Offset(0, 1) = Now
Target.Offset(0, 2) = Int(Now - Target) & " " & Format(Now - Target - Int(Now - Target), "hh:mm")
End If
End Sub
[/vba]

Автор - AlexM
Дата добавления - 06.04.2013 в 12:51
ЕленаG Дата: Суббота, 06.04.2013, 13:08 | Сообщение № 3
Группа: Гости
Спасибо! Вставила в модуль. А потом что надо сделать? Извините лузера. Но я возвращаюсь на лист из бейсика, а изменений никаких нет. Можно по-шагово написать, как запустить макрос. Ещё раз благодарю :-)))
 
Ответить
СообщениеСпасибо! Вставила в модуль. А потом что надо сделать? Извините лузера. Но я возвращаюсь на лист из бейсика, а изменений никаких нет. Можно по-шагово написать, как запустить макрос. Ещё раз благодарю :-)))

Автор - ЕленаG
Дата добавления - 06.04.2013 в 13:08
AlexM Дата: Суббота, 06.04.2013, 13:28 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Цитата (ЕленаG)
Можно по-шагово написать

1. Alt+F11
2. Вставить код в модуль листа. Для этого в окошке слева кликнуть по имени листа. Справа откроется модуль выбранного листа.
3. Вставить код.
4. Закрыть редактор VBA
В ячейку А1 вписать дату.
Макрос работает в диапазоне А1:А10.
Макросы в настройках безопасности Excel должны быть разрешены.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
Сообщение
Цитата (ЕленаG)
Можно по-шагово написать

1. Alt+F11
2. Вставить код в модуль листа. Для этого в окошке слева кликнуть по имени листа. Справа откроется модуль выбранного листа.
3. Вставить код.
4. Закрыть редактор VBA
В ячейку А1 вписать дату.
Макрос работает в диапазоне А1:А10.
Макросы в настройках безопасности Excel должны быть разрешены.

Автор - AlexM
Дата добавления - 06.04.2013 в 13:28
ЕленаG Дата: Суббота, 06.04.2013, 16:33 | Сообщение № 5
Группа: Гости
А можно Вам позвонить?
 
Ответить
СообщениеА можно Вам позвонить?

Автор - ЕленаG
Дата добавления - 06.04.2013 в 16:33
AlexM Дата: Суббота, 06.04.2013, 16:37 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Если на форуме зарегистрироваться, то можно общаться с помощью личных сообщений. Так удобнее.



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеЕсли на форуме зарегистрироваться, то можно общаться с помощью личных сообщений. Так удобнее.

Автор - AlexM
Дата добавления - 06.04.2013 в 16:37
Serge_007 Дата: Суббота, 06.04.2013, 16:48 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата (AlexM)
Вставить код в модуль листа


Цитата (AlexM)
можно общаться с помощью личных сообщений.

Читаем правила, п. 5 о wink


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата (AlexM)
Вставить код в модуль листа


Цитата (AlexM)
можно общаться с помощью личных сообщений.

Читаем правила, п. 5 о wink

Автор - Serge_007
Дата добавления - 06.04.2013 в 16:48
ЕленаG Дата: Суббота, 06.04.2013, 16:56 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Serge_007, Спасибо!


Даже в яйце есть кость!
 
Ответить
СообщениеSerge_007, Спасибо!

Автор - ЕленаG
Дата добавления - 06.04.2013 в 16:56
AlexM Дата: Суббота, 06.04.2013, 17:14 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
См. файл.
К сообщению приложен файл: W_Change__.xls (22.5 Kb)



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

Автор - AlexM
Дата добавления - 06.04.2013 в 17:14
ЕленаG Дата: Суббота, 06.04.2013, 17:26 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

AlexM, Спасибо большое! Попробую адаптировать её под свою таблицу.
Ещё вопросик. Что нужно сделать, чтобы вставить столбцы вначале (предварительно 4 столбца), сохраняя расчеты? Какие изменения надо внести в макрос?


Даже в яйце есть кость!
 
Ответить
СообщениеAlexM, Спасибо большое! Попробую адаптировать её под свою таблицу.
Ещё вопросик. Что нужно сделать, чтобы вставить столбцы вначале (предварительно 4 столбца), сохраняя расчеты? Какие изменения надо внести в макрос?

Автор - ЕленаG
Дата добавления - 06.04.2013 в 17:26
ЕленаG Дата: Суббота, 06.04.2013, 17:28 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

AlexM, и можно ли увеличить кол-во строчек? Сейчас 10, мне надо 20. cool


Даже в яйце есть кость!
 
Ответить
СообщениеAlexM, и можно ли увеличить кол-во строчек? Сейчас 10, мне надо 20. cool

Автор - ЕленаG
Дата добавления - 06.04.2013 в 17:28
AlexM Дата: Суббота, 06.04.2013, 17:32 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
В макросе во второй строке
[vba]
Код
If Not Intersect(Range("A1:A10"), Target) Is Nothing And IsDate(Target) Then
[/vba]
Указан диапазон, где он срабатывает. Т.е. А1:А10
Если перед вводимой датой 4 столбца, то диапазон надо поменять на Е1:Е20 или др.
Если есть заголовок, то E2:E21
Макрос не будет срабатывать, если в водить не даты
IsDate(Target) проверяет что введено в ячейку, если не дата, то ничего не произойдет.



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


Сообщение отредактировал AlexM - Суббота, 06.04.2013, 17:34
 
Ответить
СообщениеВ макросе во второй строке
[vba]
Код
If Not Intersect(Range("A1:A10"), Target) Is Nothing And IsDate(Target) Then
[/vba]
Указан диапазон, где он срабатывает. Т.е. А1:А10
Если перед вводимой датой 4 столбца, то диапазон надо поменять на Е1:Е20 или др.
Если есть заголовок, то E2:E21
Макрос не будет срабатывать, если в водить не даты
IsDate(Target) проверяет что введено в ячейку, если не дата, то ничего не произойдет.

Автор - AlexM
Дата добавления - 06.04.2013 в 17:32
ЕленаG Дата: Суббота, 06.04.2013, 17:42 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

AlexM, сработало! Сейчас, правда, в процессе, я поняла, что формат дата/время не удобен для внесения. Можно ли оставить только ВРЕМЯ?


Даже в яйце есть кость!
 
Ответить
СообщениеAlexM, сработало! Сейчас, правда, в процессе, я поняла, что формат дата/время не удобен для внесения. Можно ли оставить только ВРЕМЯ?

Автор - ЕленаG
Дата добавления - 06.04.2013 в 17:42
AlexM Дата: Суббота, 06.04.2013, 17:57 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Функция IsDate проверяет, является ли данное выражение корректной датой или временем.
Так что вам надо поменять формат ячеек в столбце Е.
В макросе в третьей строке Now - Текущая дата и время. Можно заменить на Date - Текущая дата, Time - Текущее время
Возможно что-то потребуется заменить в строке макроса, где вычисляется разница.
Уточните что надо.



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


Сообщение отредактировал AlexM - Суббота, 06.04.2013, 18:00
 
Ответить
СообщениеФункция IsDate проверяет, является ли данное выражение корректной датой или временем.
Так что вам надо поменять формат ячеек в столбце Е.
В макросе в третьей строке Now - Текущая дата и время. Можно заменить на Date - Текущая дата, Time - Текущее время
Возможно что-то потребуется заменить в строке макроса, где вычисляется разница.
Уточните что надо.

Автор - AlexM
Дата добавления - 06.04.2013 в 17:57
ЕленаG Дата: Суббота, 06.04.2013, 18:25 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

AlexM, пока не получилось. Мне надо, чтобы в ячейке, вводимой руками и текущем времени был формат без даты, только время. Соответственно разница рассчитывалась тоже в часах и минутах. Сейчас обновила на Time. Ввожу в Е2 время 18:00 в Е3 пусто. Но если ввожу в Е2 дату и время, то в Е3 появляется нужный параметр- ВРЕМЯ, но разница в странном виде 0 00:22. Одним словом, надо поменять вид у ТЕКУЩЕГО ВРЕМЕНИ.


Даже в яйце есть кость!
 
Ответить
СообщениеAlexM, пока не получилось. Мне надо, чтобы в ячейке, вводимой руками и текущем времени был формат без даты, только время. Соответственно разница рассчитывалась тоже в часах и минутах. Сейчас обновила на Time. Ввожу в Е2 время 18:00 в Е3 пусто. Но если ввожу в Е2 дату и время, то в Е3 появляется нужный параметр- ВРЕМЯ, но разница в странном виде 0 00:22. Одним словом, надо поменять вид у ТЕКУЩЕГО ВРЕМЕНИ.

Автор - ЕленаG
Дата добавления - 06.04.2013 в 18:25
ЕленаG Дата: Суббота, 06.04.2013, 19:04 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Доки, подскажите ещё вот что. Если не по теме, поправьте. Сейчас настраиваю условное форматирование в этой же таблице. Задача следующая. Если разница между вводимым и текущим временем больше 30 минут, то ячейка должна быть закрашена в красный цвет. Но как в формуле указать эти 30 минут в виде числа? wacko


Даже в яйце есть кость!
 
Ответить
СообщениеДоки, подскажите ещё вот что. Если не по теме, поправьте. Сейчас настраиваю условное форматирование в этой же таблице. Задача следующая. Если разница между вводимым и текущим временем больше 30 минут, то ячейка должна быть закрашена в красный цвет. Но как в формуле указать эти 30 минут в виде числа? wacko

Автор - ЕленаG
Дата добавления - 06.04.2013 в 19:04
AlexM Дата: Суббота, 06.04.2013, 19:11 | Сообщение № 17
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
так?

файл 2 с УФ
30 мин = 1/48
К сообщению приложен файл: W_Change__1.xls (26.5 Kb) · W_Change__2.xls (26.5 Kb)



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


Сообщение отредактировал AlexM - Суббота, 06.04.2013, 19:21
 
Ответить
Сообщениетак?

файл 2 с УФ
30 мин = 1/48

Автор - AlexM
Дата добавления - 06.04.2013 в 19:11
ЕленаG Дата: Суббота, 06.04.2013, 19:24 | Сообщение № 18
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Здорово! То, что доктор прописал)) Спасибо большое!
Теперь осталось с форматированием разобраться. Как же всё-таки перевести время в число. Уже мильон вариантов перепробовала, не пойму как задать условие.


Даже в яйце есть кость!
 
Ответить
СообщениеЗдорово! То, что доктор прописал)) Спасибо большое!
Теперь осталось с форматированием разобраться. Как же всё-таки перевести время в число. Уже мильон вариантов перепробовала, не пойму как задать условие.

Автор - ЕленаG
Дата добавления - 06.04.2013 в 19:24
ЕленаG Дата: Суббота, 06.04.2013, 19:32 | Сообщение № 19
Группа: Пользователи
Ранг: Новичок
Сообщений: 12
Репутация: 0 ±
Замечаний: 0% ±

Да. Практически то, что надо, только заливку надо сделать на разницу во времени. Alex, а как Вы вывели 1/48? Я к тому, что мне правила задавать не только к 30 минутам, но и другому времени, в том числе и в часах.
Спасибо!


Даже в яйце есть кость!
 
Ответить
СообщениеДа. Практически то, что надо, только заливку надо сделать на разницу во времени. Alex, а как Вы вывели 1/48? Я к тому, что мне правила задавать не только к 30 минутам, но и другому времени, в том числе и в часах.
Спасибо!

Автор - ЕленаG
Дата добавления - 06.04.2013 в 19:32
AlexM Дата: Суббота, 06.04.2013, 19:34 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
1 - это сутки, т.е 24 часа
1/24 = 1 час
1/48 = 30 мин
1/1440 = 1 мин
3/48 = 1/16 = 1 час 30 мин
Еще можно не выводить нужное число.
Например в УФ вместо 1/48 поставьте --"00:30"
Т.е правило такое =ABS($F2-$E2)>--"00:30"



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


Сообщение отредактировал AlexM - Суббота, 06.04.2013, 19:39
 
Ответить
Сообщение1 - это сутки, т.е 24 часа
1/24 = 1 час
1/48 = 30 мин
1/1440 = 1 мин
3/48 = 1/16 = 1 час 30 мин
Еще можно не выводить нужное число.
Например в УФ вместо 1/48 поставьте --"00:30"
Т.е правило такое =ABS($F2-$E2)>--"00:30"

Автор - AlexM
Дата добавления - 06.04.2013 в 19:34
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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