I would like to use the =TODAY() function in a table in excel. However, once data has been entered into that table row, I would like it never to change dates again (effectively capturing the date the row's data was added).
This will be used on every row in the table, so as data is entered into the table down the rows, each date will be captured.
Is this possible, how do I do it?
EDIT - pnuts it is not the same as this question. I do not want to use a button, rather a cell formula.
Gary's Student answer is best for this specific problem, but it is possible to freeze volatile worksheet functions without VBA if you are willing to use circular references. In
File\Options\Formulas
checkEnable iterative calculation
Then, assuming that A1 is currently blank, enterExcel's default format handling doesn't know to format this as date - so you would need to do this separately. More work than
Ctrl + ;
, but there might be some other use-cases of this trick.Disclaimer: I explicitly tested that this trick prevents recalculation of
Now()
rather thanToday()
. I wasn't willing to wait until midnight to testToday()
.On edit: Here is an interesting use-case. Say you have an entire range of blank cells with A1 as the upper left corner cell. While that range is highlighted, enter the formula
and hit
Ctrl + Enter
. Then the entire range fills up with different but fixed random values.Rather than entering the formula
touch Ctrl + ;
instead. This will put a "frozen" date in the cell.