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

Вход

Регистрация

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

 

= Мир MS Excel/Автоматическое появление даты и времени. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое появление даты и времени. (Формулы/Formulas)
Автоматическое появление даты и времени.
GVA Дата: Суббота, 09.01.2016, 00:54 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Добрый день, всем.
Файл прикрепил к сообщению. В файле имеются такие графы как дата и время, возможно сделать так, чтобы при написании в других графах (наименование события, текст задачи, название компании и т.д.) автоматические появлялись дата и время.
В идеале было бы, чтоб время и дата появлялись автоматически при написании в любой из остальных граф (кроме статуса). Либо при написании в одной из граф.

Заранее спасибо за помощь !
К сообщению приложен файл: __.xlsx (15.2 Kb)
 
Ответить
СообщениеДобрый день, всем.
Файл прикрепил к сообщению. В файле имеются такие графы как дата и время, возможно сделать так, чтобы при написании в других графах (наименование события, текст задачи, название компании и т.д.) автоматические появлялись дата и время.
В идеале было бы, чтоб время и дата появлялись автоматически при написании в любой из остальных граф (кроме статуса). Либо при написании в одной из граф.

Заранее спасибо за помощь !

Автор - GVA
Дата добавления - 09.01.2016 в 00:54
mathiax90 Дата: Суббота, 09.01.2016, 07:28 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 198
Репутация: 24 ±
Замечаний: 0% ±

Excel 2007
Код
=ЕСЛИ(ИЛИ(таблБлижайшиеВстречи4[[#Эта строка];[Статус]]<>"";таблБлижайшиеВстречи4[[#Эта строка];[Наименования события]]<>"");ТДАТА();"")

Вот формула. Вставьте в столбец даты и времени.
Логика следующая
ЕСЛИ
Статус не пуст
или
Наим. события не пусто
ТО
вывести ТДАТА() - функция вставляет текущую дату и время

Вы можете добавить другие поля для проверки (чтобы дата появлялась не только при заполнении статуса и наим. события).
Файл с примером в приложении.
К сообщению приложен файл: 20160109.xlsx (15.9 Kb)


webmoney: R242692021885
ЯД:410013877261817
 
Ответить
Сообщение
Код
=ЕСЛИ(ИЛИ(таблБлижайшиеВстречи4[[#Эта строка];[Статус]]<>"";таблБлижайшиеВстречи4[[#Эта строка];[Наименования события]]<>"");ТДАТА();"")

Вот формула. Вставьте в столбец даты и времени.
Логика следующая
ЕСЛИ
Статус не пуст
или
Наим. события не пусто
ТО
вывести ТДАТА() - функция вставляет текущую дату и время

Вы можете добавить другие поля для проверки (чтобы дата появлялась не только при заполнении статуса и наим. события).
Файл с примером в приложении.

Автор - mathiax90
Дата добавления - 09.01.2016 в 07:28
gling Дата: Суббота, 09.01.2016, 10:49 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Посмотрите вариант, макросы должны быть включены. При изменении в столбце Е вставляется дата и время. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("E6:E100")) Is Nothing Then
        Target(1, -2).Value = Now
        Target(1, -1).Value = Now
        End If
End Sub

[/vba]
К сообщению приложен файл: Vremya.xlsm (21.5 Kb)


ЯД-41001506838083
 
Ответить
СообщениеПосмотрите вариант, макросы должны быть включены. При изменении в столбце Е вставляется дата и время. [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
        If Not Intersect(Target, Range("E6:E100")) Is Nothing Then
        Target(1, -2).Value = Now
        Target(1, -1).Value = Now
        End If
End Sub

[/vba]

Автор - gling
Дата добавления - 09.01.2016 в 10:49
Gustav Дата: Суббота, 09.01.2016, 11:19 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2695
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
mathiax90, как думаете, зачем ТС одни и те же значения даты и времени во многих строках таблицы, да еще и пересчитываемые хором при каждом чихе? ;)

P.S. Попробуйте сами заполнить в своей таблице строчек 10-15 (по одному символу в статусе или наименовании, только для того, чтобы дата-время появились) . Потом поредактируйте эти 10-15 строчек в разных колонках... Видите что происходит? Казус понятен? Функция ТДАТА() будет показывать одно и то же текущее значение хоть в одной ячейке, хоть в сотне. Я и спросил, зачем автору топика столько одних и тех же значений :)

Формулами, увы, такая задача не решается. Только макросами. Либо надо после заполнения новой строки сразу фиксировать формульные значения даты и времени путем копирования и специальной вставки "Только значения", но вряд ли это кому-то придётся по душе - тогда уж быстрее просто ввести дату и время прямо в ячейки при помощи комбинаций клавиш Ctrl+; и Shift+Ctrl+; соответственно.

Другое дело, что и постановка задачи не без греха. И чисто формально-то Вы ее решили: время автоматически появляется? - появляется! А "между строк" Вас никто не обязывал читать. Ну, а то, что это не то время, которое на самом деле ждёт постановщик - это уже включение собственной интуиции, "чуйки".

Но даже при включенной "чуйке" мне пока до конца не понятно: дата-время должны проставляться в новой записи один раз при ее "создании" (как ниже в макросе у меня), или меняться каждый раз при ее редактировании (как выше в макросе у gling ). Хотя чуйка второго порядка и наличие в задании слова "появлялись" (а не "изменялись") склоняет меня всё же в мою сторону ;)


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

Сообщение отредактировал Gustav - Суббота, 09.01.2016, 14:41
 
Ответить
Сообщениеmathiax90, как думаете, зачем ТС одни и те же значения даты и времени во многих строках таблицы, да еще и пересчитываемые хором при каждом чихе? ;)

P.S. Попробуйте сами заполнить в своей таблице строчек 10-15 (по одному символу в статусе или наименовании, только для того, чтобы дата-время появились) . Потом поредактируйте эти 10-15 строчек в разных колонках... Видите что происходит? Казус понятен? Функция ТДАТА() будет показывать одно и то же текущее значение хоть в одной ячейке, хоть в сотне. Я и спросил, зачем автору топика столько одних и тех же значений :)

Формулами, увы, такая задача не решается. Только макросами. Либо надо после заполнения новой строки сразу фиксировать формульные значения даты и времени путем копирования и специальной вставки "Только значения", но вряд ли это кому-то придётся по душе - тогда уж быстрее просто ввести дату и время прямо в ячейки при помощи комбинаций клавиш Ctrl+; и Shift+Ctrl+; соответственно.

Другое дело, что и постановка задачи не без греха. И чисто формально-то Вы ее решили: время автоматически появляется? - появляется! А "между строк" Вас никто не обязывал читать. Ну, а то, что это не то время, которое на самом деле ждёт постановщик - это уже включение собственной интуиции, "чуйки".

Но даже при включенной "чуйке" мне пока до конца не понятно: дата-время должны проставляться в новой записи один раз при ее "создании" (как ниже в макросе у меня), или меняться каждый раз при ее редактировании (как выше в макросе у gling ). Хотя чуйка второго порядка и наличие в задании слова "появлялись" (а не "изменялись") склоняет меня всё же в мою сторону ;)

Автор - Gustav
Дата добавления - 09.01.2016 в 11:19
Gustav Дата: Суббота, 09.01.2016, 13:20 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2695
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
gling, набьюсь к Вам в соавторы своим юбилейным 1000-м сообщением, со своим пониманием замысла ТС:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
        If IsEmpty(Cells(Target.Row, "B")) Then
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
        End If
    End If
End Sub
[/vba]


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

Сообщение отредактировал Gustav - Суббота, 09.01.2016, 13:45
 
Ответить
Сообщениеgling, набьюсь к Вам в соавторы своим юбилейным 1000-м сообщением, со своим пониманием замысла ТС:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
        If IsEmpty(Cells(Target.Row, "B")) Then
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
        End If
    End If
End Sub
[/vba]

Автор - Gustav
Дата добавления - 09.01.2016 в 13:20
GVA Дата: Суббота, 09.01.2016, 18:25 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Gustav, абсолютно верно, необходимо чтоб дата и время не изменились при редактировании. В понедельник только получится опробовать. Заранее огромное спасибо всем за дискуссию и помощь, обязательно отпишусь как опробую.
 
Ответить
СообщениеGustav, абсолютно верно, необходимо чтоб дата и время не изменились при редактировании. В понедельник только получится опробовать. Заранее огромное спасибо всем за дискуссию и помощь, обязательно отпишусь как опробую.

Автор - GVA
Дата добавления - 09.01.2016 в 18:25
Кравченко Дата: Четверг, 25.02.2016, 16:27 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Gustav, как изменить макрос, что бы время фиксировалось при внесении в "Наименование события" конкретного значения, например УТВ(ержден)?
 
Ответить
СообщениеGustav, как изменить макрос, что бы время фиксировалось при внесении в "Наименование события" конкретного значения, например УТВ(ержден)?

Автор - Кравченко
Дата добавления - 25.02.2016 в 16:27
Gustav Дата: Четверг, 25.02.2016, 18:47 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2695
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Ну как... например, еще один IF навернуть внутрь перед прописыванием даты/времени:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
        If IsEmpty(Cells(Target.Row, "B")) Then
    
            If Cells(Target.Row, "E").Value = "УТВ(ержден)" Then 'колонка E - "Наименование события
    
                Cells(Target.Row, "B").Value = Date
                Cells(Target.Row, "C").Value = Time
    
            End If
    
        End If
    End If
End Sub
[/vba]или существующий IF расширить:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
    
        If IsEmpty(Cells(Target.Row, "B")) And _
            Cells(Target.Row, "E").Value = "УТВ(ержден)" Then 'колонка E - "Наименование события
    
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
    
        End If
    End If
End Sub
[/vba]


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

Сообщение отредактировал Gustav - Четверг, 25.02.2016, 18:49
 
Ответить
СообщениеНу как... например, еще один IF навернуть внутрь перед прописыванием даты/времени:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
        If IsEmpty(Cells(Target.Row, "B")) Then
    
            If Cells(Target.Row, "E").Value = "УТВ(ержден)" Then 'колонка E - "Наименование события
    
                Cells(Target.Row, "B").Value = Date
                Cells(Target.Row, "C").Value = Time
    
            End If
    
        End If
    End If
End Sub
[/vba]или существующий IF расширить:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
    
        If IsEmpty(Cells(Target.Row, "B")) And _
            Cells(Target.Row, "E").Value = "УТВ(ержден)" Then 'колонка E - "Наименование события
    
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
    
        End If
    End If
End Sub
[/vba]

Автор - Gustav
Дата добавления - 25.02.2016 в 18:47
Wasilich Дата: Четверг, 25.02.2016, 19:55 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
[offtop]
не понятно: дата-время должны проставляться в новой записи один раз при ее "создании" (как ниже в макросе у меня), или меняться каждый раз при ее редактировании
Экстрасенс, чуйка или угадал? :D
необходимо чтоб дата и время не изменились при редактировании
А могло быть и наоборот.[/offtop]


Сообщение отредактировал Wasilic - Четверг, 25.02.2016, 20:06
 
Ответить
Сообщение[offtop]
не понятно: дата-время должны проставляться в новой записи один раз при ее "создании" (как ниже в макросе у меня), или меняться каждый раз при ее редактировании
Экстрасенс, чуйка или угадал? :D
необходимо чтоб дата и время не изменились при редактировании
А могло быть и наоборот.[/offtop]

Автор - Wasilich
Дата добавления - 25.02.2016 в 19:55
Кравченко Дата: Четверг, 25.02.2016, 22:07 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 20
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Gustav, спасибо, это оно!
 
Ответить
СообщениеGustav, спасибо, это оно!

Автор - Кравченко
Дата добавления - 25.02.2016 в 22:07
Restiv Дата: Четверг, 15.12.2016, 09:21 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Уважаемый Кравченко или Gustav прошу Вас выслать документ с примером по автоматической вставки времени. Сколько я не пытаюсь создать подобный макрос, у меня ничего не выходит. При попытке запустить макрос выходит ошибка:
"Run-time error '424':
Object required

Подскажите в чем может быть причина?
 
Ответить
СообщениеУважаемый Кравченко или Gustav прошу Вас выслать документ с примером по автоматической вставки времени. Сколько я не пытаюсь создать подобный макрос, у меня ничего не выходит. При попытке запустить макрос выходит ошибка:
"Run-time error '424':
Object required

Подскажите в чем может быть причина?

Автор - Restiv
Дата добавления - 15.12.2016 в 09:21
китин Дата: Четверг, 15.12.2016, 09:33 | Сообщение № 12
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
файл будет, где ошибка?


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениефайл будет, где ошибка?

Автор - китин
Дата добавления - 15.12.2016 в 09:33
Restiv Дата: Четверг, 15.12.2016, 09:43 | Сообщение № 13
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
файл будет, где ошибка?


Да, пожалуйста.
К сообщению приложен файл: 1980356.xlsm (15.1 Kb)
 
Ответить
Сообщение
файл будет, где ошибка?


Да, пожалуйста.

Автор - Restiv
Дата добавления - 15.12.2016 в 09:43
_Boroda_ Дата: Четверг, 15.12.2016, 09:57 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16666
Репутация: 6478 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Код нужно вставлять в МОДУЛЬ ЛИСТА, а не в обычный
К сообщению приложен файл: 1980356_1.xlsm (16.0 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеКод нужно вставлять в МОДУЛЬ ЛИСТА, а не в обычный

Автор - _Boroda_
Дата добавления - 15.12.2016 в 09:57
Restiv Дата: Четверг, 15.12.2016, 10:06 | Сообщение № 15
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Спасибо большое!
 
Ответить
СообщениеСпасибо большое!

Автор - Restiv
Дата добавления - 15.12.2016 в 10:06
Restiv Дата: Четверг, 15.12.2016, 10:42 | Сообщение № 16
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Ещё прошу подсказать, как оформить макрос, чтобы при введении в столбец любой текстовой информации в ячейке регистрировалось время и дата. С цифрами стало понятно, а когда попытался применить к текству снова стала появляться ошибка.

Прошу не ругать сразу, я в макросах новичок.
 
Ответить
СообщениеЕщё прошу подсказать, как оформить макрос, чтобы при введении в столбец любой текстовой информации в ячейке регистрировалось время и дата. С цифрами стало понятно, а когда попытался применить к текству снова стала появляться ошибка.

Прошу не ругать сразу, я в макросах новичок.

Автор - Restiv
Дата добавления - 15.12.2016 в 10:42
китин Дата: Четверг, 15.12.2016, 10:47 | Сообщение № 17
Группа: Модераторы
Ранг: Экселист
Сообщений: 7013
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
может так? ставит дату и время при появлении в ячейке любого значения.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
    
        If IsEmpty(Cells(Target.Row, "B")) And _
            Cells(Target.Row, "E").Value <> """" Then 'êîëîíêà E - "Íàèìåíîâàíèå ñîáûòèÿ
    
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
    
        End If
    End If
End Sub
[/vba]


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852


Сообщение отредактировал китин - Четверг, 15.12.2016, 10:49
 
Ответить
Сообщениеможет так? ставит дату и время при появлении в ячейке любого значения.
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("E6:J100")) Is Nothing Then
    
        If IsEmpty(Cells(Target.Row, "B")) And _
            Cells(Target.Row, "E").Value <> """" Then 'êîëîíêà E - "Íàèìåíîâàíèå ñîáûòèÿ
    
            Cells(Target.Row, "B").Value = Date
            Cells(Target.Row, "C").Value = Time
    
        End If
    End If
End Sub
[/vba]

Автор - китин
Дата добавления - 15.12.2016 в 10:47
Restiv Дата: Четверг, 15.12.2016, 11:09 | Сообщение № 18
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Что добавить второй макрос не получается. Можете глянуть в чем дело?
Первый макрос работает.
Второй должен при вводе "ФИО" автоматически фиксировать дату и время ввода ФИО. Что то я сделал не так.

Заранее благодарю.
К сообщению приложен файл: ____2016.xlsm (25.4 Kb)
 
Ответить
СообщениеЧто добавить второй макрос не получается. Можете глянуть в чем дело?
Первый макрос работает.
Второй должен при вводе "ФИО" автоматически фиксировать дату и время ввода ФИО. Что то я сделал не так.

Заранее благодарю.

Автор - Restiv
Дата добавления - 15.12.2016 в 11:09
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Автоматическое появление даты и времени. (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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