excel表格中,我要在当A1输入内容时,则b1自动填充当天的日期

excel表格中,我要在当A1输入内容时,则b1自动填充当天的日期,并且在系统日期变的时候之前自动填充的时间要不变。
lfspecter:感谢你的回答,我试了一下,还是不可以呀。我用你的这个函数今天的是可以显示了,保存后。等明天我再打开看表时,时间就变成明天的时间了。这是想要它不变呀。

要用 VBA , 或者 迭代运算  可能有点用,  写VBA的话, WPS  用不了:

Excel 内  右键   点工作表 名字--查看代码,如下代码 复制进去,存为启用宏的工作薄,启用宏可使用:

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next
  If Target.Column = 1 Then  '如果当前编辑单元格在第1列 A列
     If Target <> "" Then
      Target.Offset(0, 1) = Date    '当前单元格右边一格 =日期
      Else
      Target.Offset(0, 1) = ""  '如果清空 内容则右边一格 清空
     End If
  End If
End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-29
在菜单的 工具\选项\重新计算 勾选【迭代计算】 【最多迭代次数】后填:1,确定。
在B1里写公式:
=IF(A1="","",IF(OR(B1="",B1=0),TODAY(),B1))
向下拖动复制。OK
去试一试吧!!!祝你成功!!!!本回答被提问者采纳
第2个回答  2010-12-29
b1=if(a1<>"",today(),"")
系统时间变化之前时间不变,可以复制粘贴为数值就可以了
第3个回答  2010-12-29
是用VBA代码吧。假设你要加入这个功能到你的工作簿的 sheet1 工作表中,那么 alt + F11,然后在左边工程中,找到你所在的工作簿,然后在下面的EXCEL对象中找到 SHEET1,双击它,在弹出的窗口中,将以下代码,粘贴进去。就可以实现你的功能了。(a列如有改动,b列对应的位置就输入日期。)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address Like "$[A]$*" Then Cells(Target.Row, 2) = Format(Now(), "YYYY-MM-DD")
End Sub
第4个回答  2010-12-29
楼上说的还是蛮好用的,建议使用