Страницы: 1
RSS
Как вставить текущий дату и время (команда =тдата() не подходит)
 
как вставить текущюю дату и время в ячейку . Команда =тдата() не подходит, т.к во всех ячейках с этой формулой дата обновляется.
А мне нужно чтобы она фиксировалась , к примеру я нажал на кнопку и в ячейке А1 зафиксировалось текущая дата и время (06.09.2019 15:32),
через 15 мин нажал уже зафиксировалось  06.09.2019 15:47 и т.д

формула =сегодня() подходит частично, т.к указывает только дату.. Нужно еще и время.
Желательна формула, чтобы создать макрос
 
В ячейку А1 записывает дату.
Код
Sub bbbb()
Cells(1, 1) = Now
End Sub
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Введите =ТДАТА(), отмените автообновение формул и каждый раз, когда нужно будет обновить, нажимайте F9/
 
Цитата
Alemox написал:
В ячейку А1 записывает дату.Код ? 123Sub bbbb()Cells(1, 1) = NowEnd Sub
что-то не работает(

Как сделать, чтобы в любую ячейку записывало дату и время, на момент выполнения макроса
Изменено: dost - 06.09.2019 16:06:21
 
Цитата
Hellmaster написал:
Введите =ТДАТА(), отмените автообновение формул и каждый раз, когда нужно будет обновить, нажимайте F9/




попробовал.
Записывается, но почему не высчитывается разница во времени , в примеру в А1 записано время текущее , В1 через 15 мин, соответственно С1 = (В1-А1) = 15 мин.
Не срабатывает данная формула в С1
 
вот была тема с СЕГОДНЯ(). там есть интересный прием со списком
 

Код
Sub bbbb()
With ActiveWorkbook
ActiveSheet.ActiveCell = Now
End With
End Sub

Вот так должен работать макрос. Открываете нужную книгу, нужный лист и выделяете ячейку, в которую нужно записать дату и время. Используете макрос

Изменено: Hellmaster - 06.09.2019 16:13:11
 
Цитата
Vik_tor написал:
вот была тема  с СЕГОДНЯ(). там есть интересный прием со списком




не подходит.

Вот что требуется
 
Цитата
dost написал:
Не срабатывает данная формула в С1
Потому что вы, наверное, в А1 и в В1 записываете одинаковую формулу и при обновлении формул, значения у них одинаковые.
 
Цитата
Hellmaster написал:
Потому что вы, наверное, в А1 и в В1 записываете одинаковую формулу и при обновлении формул, значения у них одинаковые
да.

Вот это вопрос и пытаемся решить коллективно.
Понимаю
 
вот по примеру
 
dost,
Код
Sub bbbb()
With ActiveWorkbook
  With ActiveSheet
   ActiveCell = Now
  End With
End With
End Sub
Вставляет текущую дату и время в выбранную вами ячейку
 
Цитата
Hellmaster написал:
Код ? 12345Sub bbbb()With ActiveWorkbookActiveSheet.ActiveCell = NowEnd WithEnd Sub Вот так должен работать макрос. Открываете нужную книгу, нужный лист и выделяете ячейку, в которую нужно записать дату и время. Используете макрос
ошибка выдает 438

в строке
ActiveSheet.ActiveCell = Now
 
Цитата
dost написал:
ошибка выдает 438
Да, переделал в сообщении #12
 
Хотя, все гораздо проще. Для этой задачи пишете в ячейку =ТДАТА(), копируете и вставляете как значение.
 
Цитата
Hellmaster написал:
Хотя, все гораздо проще. Для этой задачи пишете в ячейку =ТДАТА(), копируете и вставляете как значение.




тдата постоянно обновляет дату и время, соответственно и разницу не высчитать между ними.
Если отключить автообновление формул, то нужные формулы не высчитываются(
 
Hellmaster, так не используют блок With end with
Код
With ActiveWorkbook
  With ActiveSheet
   ActiveCell = Now
  End With
End With
Изменено: Alemox - 06.09.2019 16:32:54
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
dost, вписываете в ячейку формулу =ТДАТА. Копируете ячейку, вставляете скопированное в эту же ячейку как значение (ctrl+alt+V. в разделе "Вставить" поставить галку на "Значения")
Изменено: Hellmaster - 06.09.2019 16:35:15
 
Цитата
Hellmaster написал:
Да, переделал в сообщении  #12




Спасибо. Все работает как надо. Вы мастер!

На всякий случай вот решение вопроса от Hellmaster:

Код
?
1
2
3
4
5
6
7
Sub bbbb()
With ActiveWorkbook
 With ActiveSheet
  ActiveCell = Now
 End With
End With
End Sub
 
Цитата
Alemox написал:
так не используют блок With end with
но я же использовал и все сработало)
Можно без with Activeworkbook end with, но ,в целом, вариант сработал, макрос срабатывает моментально, срабатывает правильно.
Изменено: Hellmaster - 06.09.2019 16:42:23
 
Никто не говорит, что не работает. В данном случае работает.
В приставку With end with сверху записывается главный объект, а внутри блока через точку его свойства. Например, если у вас 2 листа.
Код
Sub Пример()
Лист1.Activate
With Лист2
    .Cells(1, 1) = 1
    Cells(1, 1) = 1
End With
End Sub

Если вы выполните данный макрос, то цифра 1 запишется на лист 1 и лист 2 в первую ячейку.
.Cells(1, 1) = 1 относится к блоку, то-бишь к листу 2, а Cells(1, 1) = 1 относится к активному листу.
Точка определяет, что это относится к объекту блока With end with.
Так же блоки можно вкладывать друг в друга например
Код
Sub Пример()
With Лист2
    With .Cells(1, 1)
        .Interior.ColorIndex = 3
        .Font.Bold = True
    End With
End With
End Sub

И все эти махинации будут относится к ячейке А1 на листе 2, независимо от того активен он или нет.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Alemox, но в данном случае мы не знаем как листы будут называться, не знаем в какую ячейку будем записывать дату, поэтому With Activeworksheet и Activecell для самостоятельного выделения ячейки, в которую нужно вставить. Вроде все логично. Хотя, можно вообще без with тогда обойтись. Конец пятницы как никак)
Изменено: Hellmaster - 06.09.2019 16:51:56
 
Не логично. Конструкция содержит пустой мусор, который не работает. Работает только одна строка
ActiveCell = Now
С пятницей  :D
Скрытый текст
Изменено: Alemox - 06.09.2019 16:58:28
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Задам еще вопрос по макросам, раз уж мы здесь собрались.

создал отдельную тему
Изменено: dost - 06.09.2019 17:04:14
 
Цитата
dost написал:
Задам еще вопрос по макросам
По правилам форума, вам надо отдельную тему создать для другого вопроса.
Страницы: 1
Наверх