如果上一行为空,则自动填充当前日期
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. ...)
中删除以上是关于如果上一行为空,则自动填充当前日期的主要内容,如果未能解决你的问题,请参考以下文章