0

我有一个按日期排序的电子表格。每天,我都会在其中输入新数据。每天之后,我会在第二天开始之前留一排空。例子:

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 总是在我在一个空白行之后输入数据时填写当前日期,但显然日期应该保持不变 - 每当我打开 excel 时都不会更新为当前日期。我正在使用 Excel 2007,虽然首选非 vba 想法,但 vba 也不是问题!

4

2 回答 2

3

插入今天的日期有一个快捷方式:Ctrl;
我认为如果您使用快捷方式,您可能不需要宏。

类似的时间捷径是CtrlShift;

于 2012-09-22T17:18:38.700 回答
1

这是使用Worksheet_Change工作表事件使用 VBA 执行此操作的一种相当简单(粗略?)的方法。

实际上,每次更改单元格时,它都会检查上面的整行是否为空白,如果是,则将今天的日期放在 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
于 2012-09-22T15:54:38.670 回答