如果上一行为空,则自动填充当前日期

Posted

技术标签:

【中文标题】如果上一行为空,则自动填充当前日期【英文标题】:Auto-fill the current date if the previous row was empty 【发布时间】:2012-09-22 09:46:48 【问题描述】:

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

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 也不是问题!

【问题讨论】:

【参考方案1】:

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

时间的类似快捷键是 CtrlShift;

【讨论】:

+ 1 用于非 VBA 解决方案 :) BTW 很高兴在这里见到你 ;)【参考方案2】:

这是使用工作表的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

【讨论】:

好主意,但要使其发挥作用,请将 Selection.CountA(Selection. ...) 中删除

以上是关于如果上一行为空,则自动填充当前日期的主要内容,如果未能解决你的问题,请参考以下文章

Excel技巧空单元格自动填充上一单元格内容

Perl CGI 日期和时间选择器,自动填充当前日期和时间

excel单元格自动填充等于上一单元格内容

用户记住密码,取消浏览器表单记忆自动填充

如果表单有超过 200 个输入字段,则自动填充/自动完成不起作用

ms 根据先前记录的日期访问自动填充日期字段