我正在使用excel文件,我有2列A和B,我已将B的值设置为此语句= IF(A1 = 1,NOW(),“”)并且每件事情都进展顺利,当我写1 B将等于当前日期,如果写任何其他B将等于什么,
问题是: - 每当我将A设置为1时,B列的值将更改为当前日期,我只希望当前B(例如B5)更改为当前日期而不是所有Bs。
所以任何人都可以帮助我...
答案 0 :(得分:0)
听起来您正在寻找时间戳,以确定“A”列中的单元格何时写入数据。如果是这样,您可能想在工作表上尝试VBA触发器。请尝试将以下代码粘贴到您要定位的工作表中。 (当excel打开时,Alt-F11,然后双击相关工作表)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
Target.Offset(0, 1).Value = Now()
End If
End Sub
如果您确实希望B列中的时间戳在A列中的值设置为数值1时生成 ONLY ,则将第二行代码替换为:
If Not Intersect(Target, Range("A:A")) Is Nothing And Target.Value = 1 Then
您将无法获得=NOW()
公式以停止显示当前系统日期&每当工作簿重新计算而没有手动复制粘贴该单元格中的值时的时间覆盖公式(@pnuts在评论中建议)。我希望这个vba解决方法就是你所需要的!