如果前一行为空,则自动填充当前date

我有一个电子表格按datesorting。 每天,我都会input新的数据。 每天之后,在第二天开始之前,我会留下一行空的。 例:

20.09.12 XXXXX XXXXX XXXXX XXXX XXXXX XXXX XXXXX XX XX XXXXX XX XXXX 21.09.12 XXX XXXXX XXX XXXX X XXXX XXXX XXX 22.09.12 XXXX XX XXXX XXXX 

所以我希望excel始终填写当前的date,每当我在一个空白行之后input数据时,但显然date应该保持不变 – 每当我打开excel时不会更新到当前date。 我正在使用Excel 2007,而非vba的想法是首选,vba也不是一个问题!

这是使用Worksheet_Change事件与VBA做一个相当简单的(原油?)的方式。

实际上,每次更改单元格时,都会检查上面的整行是否为空,如果是,则将当前date放在A列中。

 Private Sub Worksheet_Change(ByVal Target As Range) If WorksheetFunction.CountA(Rows(Target.Offset(-1, 0).Row)) = 0 Then Range("A" & Target.Row) = Format(Now(), "dd.mm.yy") End If End Sub 

插入今天的date有一个快捷方式: Ctrl ;
我想如果你使用快捷方式,你可能不需要一个macros。

类似的时间捷径是Ctrl Shift ;