EXCEL中自动生成日期,生成后不会因系统日期发生发改变,如何实现?

根据系统时间:2013年09月13日19分58秒 将其生成为:201309131958
明天的时间不会系统时间发生改变,例如明天生成的是201309142030
也就是说,每次生成的都是系统时间。生成后不改变。例如在A例
A1:201309131958
A2:201309132030
A3:201309132031
我用的是2013EXCEL的我试过了,保存,打开什么都没有。有哪大侠可以说下啊。

打开EXCEL你的表格,按Alt+F11打开VBA编辑器,双击ThisWorkbook,如图所示,然后将以下代码复制到右边的代码编写窗口,保存然后退出即可。下次打开的时候就可以自动更新并实现你的要求:

Private Sub Workbook_Open()
n = Range("A63356").End(xlUp).Row
Sheets(1).Cells(n + 1, 1) = CStr(Format(Now(), "yyyymmddhhmmss"))

Range("A:A").NumberFormatLocal = "0_ "
End Sub

如果你需要满足其他功能,比如同一天只显示一个一次,不重复多行。你可以给我百度留言或者hi我,我一定帮你解决。

追问

在A1下列可以生成系统时间到秒,怎么用?

追答

Sheets(1).Cells(n + 1, 1) = CStr(Format(Now(), "yyyymmddhhmmss"))
这一句就是生成到秒的语句。

追问

可以把函数写在SHEET1里面吗,THISWORKBOOK,怎么也操作不出。

追答

Thisworkbook不是工作表,代表的是整个工作薄,代码必须放在工作薄里面,放在内里的sheet里面是不行的,肯定有thisworkbook。

追问

我是想实现从,A1到AN列的,日期生成,怎么实现?是有thisworkbook但不知道如何操作。

追答

我倒,上面都说得这么清楚了,你直接把代码复制进去,然后保存,下次打开的时候就自动生成日期了
Private Sub Workbook_Open()
n = Range("A63356").End(xlUp).Row
Sheets(1).Cells(n + 1, 1) = CStr(Format(Now(), "yyyymmddhhmmss"))
Range("A:A").NumberFormatLocal = "0_ "
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-13
使用宏(控件),实现对即时时间复制、粘贴。
第2个回答  2013-09-13
a1==IF(B1="","",IF($A1="",now(),$A1)),这个是根据b1是否为空做判断,若非空则自动填充,
要先设置 选项 ,公式,计算选项,启用自动重算和迭代计算
相似回答