乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 在EXCEL 中如何记录某单元格录入数据后的日期时间?-excel日期时间输入,excel输入当天的日期

在EXCEL 中如何记录某单元格录入数据后的日期时间?-excel日期时间输入,excel输入当天的日期

作者:乔山办公网日期:

返回目录:excel表格制作


1.手工输入。
2.宏,当在A列输入内容时,在B列自动记录当天的日期
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Value <> "" Then
Cells(Target.Row, 2) = Date
End If
End Sub

  如图,在A列录入数据,在B列记录录入时间,步骤是:

  1、点“office按钮”、“公式”、勾选“启用迭代计算”。

  2、在B2中输入

  =IF(A2="","",IF(B2="",NOW(),B2))

  3、右击B2单元格,“设置单元格格式”、“自定义”,在右侧框中输入

  yyyy-m-d  hh:mm:ss

  


用vlookup函数只能返回第一条记录,如果这一天有多条记录的话,不能满足要求。得用VBA解决。先打开工作表,按下Alt+F11键打开VBE编辑器,插入一个模块,粘贴以下代码。636f70797a686964616f330然后关闭vbe编辑器,返回工作表,单击视图→工具→窗体→插入一个命令按钮→指定宏为test→每次在D1输入日期后,按钮1就行。

Sub test()
Sheet2.Rows("3:100").ClearContents
Dim x As Integer, y As Integer
For x = 2 To Sheet1.Range("a65536").End(xlUp).Row
 y = Sheet2.Range("a65536").End(xlUp).Row + 1
 If Application.WorksheetFunction.CountIf(Sheet1.Columns(1), Sheet2.Range("d1")) = 0 Then
   MsgBox "该日期没有数据"
   Exit Sub
 End If
 If Sheet1.Range("a" & x).Value = Sheet2.Range("d1") Then
   Sheet2.Range("a" & y) = Sheet1.Range("b" & x)
   Sheet2.Range("b" & y) = Sheet1.Range("c" & x)
   Sheet2.Range("c" & y) = Sheet1.Range("d" & x)
   Sheet2.Range("d" & y) = Sheet1.Range("e" & x)
 End If
Next x
End Sub

 效果如图

这里只是一个例子,有需要传个文件帮你看看。



如下的方法请参考:
由于公式要引用单元格自身,造成循环引用,必须打开“迭代计算e799bee5baa6e78988e69d83337”选项,否则Excel会提示“Microsoft Office Excel 不能计算该公式……,从而造成循环应用。……”的提示。
Excel 2003:单击“工具→选项→重新计算”,勾选“迭代计算”。
Excel 2007/2010/2013:单击“Office按钮(文件)→选项→公式”,在“计算选项”区域勾选“启用迭代计算”。
“最多迭代次数”可保持默认的“100”。
在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仍会给出循环引用的提示,此时重新设置“迭代计算”选项即可。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网