Excel怎么实现在A1输入数据时B1自动填入当前日期,除非A1数据有变化,否则B1日期永远不变
在A1输入数据时B1自动填入当前日期在A2输入数据时B2自动填入当前日期............................(除非A1发生变化,B1才再次更新日期,否...
在A1输入数据时B1自动填入当前日期
在A2输入数据时B2自动填入当前日期............................
(除非A1发生变化,B1才再次更新日期,否则这个填入的日期不变)
一句话: 我就是想记录某单元格最后一次输入数据的时间! 展开
在A2输入数据时B2自动填入当前日期............................
(除非A1发生变化,B1才再次更新日期,否则这个填入的日期不变)
一句话: 我就是想记录某单元格最后一次输入数据的时间! 展开
2011-04-05 · 知道合伙人软件行家
关注
展开全部
做好了,Hi我给你发文件.
或者你自己测试:
打开你的excel表后,假设你要在sheet1实现这个功能:
那么,按alt+f11,在左边找到sheet1,双击后输入下列代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then '这个是控制只有A列输入,且一个一个输入,B列才会显示日期.如果你是别的列.按照A=1,B=2,c=3,z=26,aa=27自己该.比如你是需要D列变,E列显示结果,那么在这里Target.Column = 1改成Target.Column =4
Target.Offset(0, 1).Value = Date '这里是制定输入数据的那列的后一列显示日期,如果要改成前面的一列,Target.Offset(0, 1).Value 改成Target.Offset(0, -1).Value .
Target.Offset(0, 1).NumberFormat = "e/mm/dd" '这是设置日期显示的格式
End If
End Sub
或者你自己测试:
打开你的excel表后,假设你要在sheet1实现这个功能:
那么,按alt+f11,在左边找到sheet1,双击后输入下列代码:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 And Target.Count = 1 Then '这个是控制只有A列输入,且一个一个输入,B列才会显示日期.如果你是别的列.按照A=1,B=2,c=3,z=26,aa=27自己该.比如你是需要D列变,E列显示结果,那么在这里Target.Column = 1改成Target.Column =4
Target.Offset(0, 1).Value = Date '这里是制定输入数据的那列的后一列显示日期,如果要改成前面的一列,Target.Offset(0, 1).Value 改成Target.Offset(0, -1).Value .
Target.Offset(0, 1).NumberFormat = "e/mm/dd" '这是设置日期显示的格式
End If
End Sub
追问
你的方法我试了 发现在下次打开的时候就不再输入日期了 要怎么搞呢
追答
你用的什么版本的excel?
2007的话要存成.xlsm文件.
03的完全可以啊.怎么会不输入呢.
我Hi你了也没见你回应.....
展开全部
在sheet表的标签名称上 右键,查看代码,将下面的代码复制入其中,返回sheet表试试吧……
不限制A列改动的单元格数,也不限制连续单元格改动
-------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Column <> 1 Then Exit Sub
Dim c As Range
For Each c In Target
If c.Column = 1 Then
If c.Value = "" Then
c.Offset(0, 1).Value = ""
Else
c.Offset(0, 1).Value = Format(Now, "yyyy-mm-dd hh:mm:ss")
End If
End If
Next
End Sub
-----------------
Hi我,详细解答
不限制A列改动的单元格数,也不限制连续单元格改动
-------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Cells(1, 1).Column <> 1 Then Exit Sub
Dim c As Range
For Each c In Target
If c.Column = 1 Then
If c.Value = "" Then
c.Offset(0, 1).Value = ""
Else
c.Offset(0, 1).Value = Format(Now, "yyyy-mm-dd hh:mm:ss")
End If
End If
Next
End Sub
-----------------
Hi我,详细解答
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不改变原始表格数据,打印时自动添加打印日期。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询