Как заставить Excel автоматически вставлять текущую дату и текущее время в ячейку, когда я вставляю значение в другую ячейку в той же строке?
Я знаю CTRL +; и CTRL +: ярлыки, но я бы предпочел, чтобы ячейка была просто заполнена автоматически.
Как заставить Excel автоматически вставлять текущую дату и текущее время в ячейку, когда я вставляю значение в другую ячейку в той же строке?
Я знаю CTRL +; и CTRL +: ярлыки, но я бы предпочел, чтобы ячейка была просто заполнена автоматически.
Если вы довольны написанием VBA, вы можете сделать это с событием Worksheet
Change
.
Вот пример кода, который будет записывать сегодняшнюю дату и время в столбце B при каждом изменении ячейки в столбце A:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CellToChange As Range
'Check the change happened in Column A (i.e. 1)
If Target.Column = 1 Then
'The Cell we want to change is on this row, but in Column B (i.e. 2)
Set CellToChange = Target.Worksheet.Cells(Target.Row, 2)
'Only write in Today's date and the time if the cell is empty
If IsEmpty(CellToChange) Then
CellToChange.Value = Now
End If
End If
End Sub
Если вам нужно, чтобы изменения произошли в разных столбцах, просто измените номера столбцов в:
If Target.Column = 1 Then
а также:
Set CellToChange = Target.Worksheet.Cells(Target.Row, 2)
Чтобы получить этот код на рабочем листе, нажмите Alt+F11
, дважды щелкните свой лист в древовидном представлении слева, а затем вставьте код в открывшееся окно.
Я думаю, вы могли бы предварительно заполнить столбец формулой = if(cell1 = ""; ""; today()), но это будет автоматически обновляться каждый раз, когда вы открываете электронную таблицу, я не думаю, что есть способ получить ее чтобы заполнить дату в той точке, в которую вы заполняете ячейку, оставьте ее в этой дате. Во всяком случае, не без программирования.