Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如果前一行为空,则自动填充当前日期_Date_Excel_Excel 2007_Autofill_Vba - Fatal编程技术网

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

Date 如果前一行为空,则自动填充当前日期,date,excel,excel-2007,autofill,vba,Date,Excel,Excel 2007,Autofill,Vba,我有一个按日期排序的电子表格。每天,我都会在里面输入新的数据。每天结束后,在第二天开始之前,我留下一排空位。例如: 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

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

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时更新为当前日期。我使用的是Excel2007,虽然非vba的想法是首选,但vba也不是问题

这里有一个相当简单(粗糙的?)的方法,可以使用工作表的
工作表\u 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
下面是一种使用VBA使用工作表的
Worksheet\u Change
事件执行此操作的相当简单(粗糙)的方法

实际上,每次更改单元格时,它都会检查上面的整行是否为空,如果为空,则将今天的日期放在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

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


时间的类似快捷方式是CtrlShift

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


时间的类似快捷方式是CtrlShift

好主意,但要使其工作,请放弃
选择。
退出
CountA(选择…)
好主意,但要使其工作,请放弃
选择。
退出
CountA(选择…)
+1对于非VBA解决方案:)顺便说一句,很高兴在这里见到您;+1对于非VBA解决方案:)顺便说一句,很高兴在这里见到您;)