自动记录单元格数据的输入日期和时间.docx

自动记录单元格数据的输入日期和时间.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
自动记录单元格数据的输入日期和时间

有时希望在Excel某个单元格中输入内容时,在另外的单元格中自动记录该单元格输入时的日期和时间,例如在A列录入数据后,在B列同行对应的单元格中自动记录日期和时间。这时可用下面的方法来实现:??? 方法一:使用公式??? 1.打开“迭代计算”选项。??? 由于公式要引用单元格自身,造成循环引用,必须打开“迭代计算”选项,否则Excel会提示“Microsoft Office Excel 不能计算该公式……,从而造成循环应用。……”的提示。??? Excel 2003:单击“工具→选项→重新计算”,勾选“迭代计算”。??? ??? Excel 2007/2010/2013:单击“Office按钮(文件)→选项→公式”,在“计算选项”区域勾选“启用迭代计算”。??? “最多迭代次数”可保持默认的“100”。??? ??? 2.在B1单元格中输入公式:??? =IF(A1=,,IF(B1=,TEXT(NOW(),yyyy-m-d h:mm:ss),B1))??? 然后拖动填充柄向下填充公式到所需的位置。??? 这样,当在A列输入数据时,B列对应的单元格会自动记录当前的日期和时间。??? ??? 说明:??? 1.上述公式虽然能记录A列单元格中第一次输入的日期和时间,但直接更改A列单元格内容后,该公式并不能记录最后一次输入的日期和时间。要记录A列单元格最后输入的日期和时间,可先按Delete键删除A列单元格内容后再次输入。??? 2.重新打开Excel后,上述“迭代计算”选项会自动取消。如果启动Excel后打开了一个未设置该选项的工作簿,再次打开已设置“迭代计算”选项的工作簿时,Excel仍会给出循环引用的提示,此时重新设置“迭代计算”选项即可。??? 方法二:用VBA??? 下面的VBA代码利用“Worksheet_Change”事件来实现自动记录日期时间的目的。在Excel中按Alt+F11,打开VBA编辑器,在“工程”窗口中双击所需的工作表,在代码窗口中根据需要分别粘贴下面的代码。??? 1.记录A列单元格第一次输入的日期和时间:Private Sub Worksheet_Change(ByVal Target As Range)在B列单元格中记录A列同行单元格第一次输入的日期和时间Dim rCell As RangeWith Target??? If .Count = 1 Then??????? If .Column = 1 And .Offset(0, 1) = Then??????????? .Offset(0, 1).NumberFormat = yyyy-m-d h:mm:ss??????????? .Offset(0, 1) = Now??????? End If??? Else??????? If Intersect(Target, Range(A:A)) Is Nothing Then End??????? For Each rCell In Intersect(Target, Range(A:A))??????????? If rCell.Column = 1 And rCell.Offset(0, 1) = Then??????????????? rCell.Offset(0, 1).NumberFormat = yyyy-m-d h:mm:ss??????????????? rCell.Offset(0, 1) = Now???????? End If??????? Next??? End IfEnd WithEnd Sub??? 2.记录A列单元格最后一次输入的日期和时间:Private Sub Worksheet_Change(ByVal Target As Range)在B列单元格中记录A列同行单元格最后一次输入的日期时间Dim rCell As RangeWith Target??? If .Count = 1 Then??????? If .Column = 1 Then??????????? .Offset(0, 1).NumberFormat = yyyy-m-d h:mm:ss??????????? .Offset(0, 1) = Now??????? End If??? Else??????? If Intersect(Target, Range(A:A)) Is Nothing Then End??????? For Each rCell In Intersect(Target, Range(A:A))??????????? rCell.Offset(0, 1).NumberFormat = yyyy-m-d h:mm:ss??????????? rCell.Offset(0, 1)

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档