当向一个列中添加内容时,我让另一列插入当前日期,但是如何保持插入的日期不被更新?好像每天都要更新...

时间:2020-12-17 14:51:15
以下是个工作跟踪项,插入"内容1",前一列自动获取当前时间,并且这个时间不应被更新,除非内容1的内容被修改。

2008/1/1    内容1
2008/1/2    内容2


我现在这样做,每天第一列的时间都会被自动更新到当前时间。如何来控件?

最好在第一列获取当前时间后,把他的计算公式自动替换为当前时间。有办法吗?谢谢

13 个解决方案

#1


是在Excel,还是Access中?

#2


引用 1 楼 dragonrabb 的回复:
是在Excel,还是Access中?

EXCEL中

#3


帮顶
不了解。

#4


我都是手动的,呵呵。
插入当前日期和时间     选取一个单元格,并按 Ctrl+;,然后按空格键,最后按 Ctrl+Shift+;

#5


可以这样试下,在open事件将原来的数据复制到另一张表里,然后就可通过IF函数来判断数据有没有更改,从而确定是用原来的时间还是现在的时间

#6


引用 5 楼 dragonrabb 的回复:
可以这样试下,在open事件将原来的数据复制到另一张表里,然后就可通过IF函数来判断数据有没有更改,从而确定是用原来的时间还是现在的时间 

有没有具体的操作

#7


这个没了解过

#8


'用B列来记录A列的最后修改时间

Dim r As Integer, c As Integer, v As String
Const DetectCol As Integer = 2, StartRow As Integer = 2, EndRow As Integer = 16, TimeCol As Integer = 4

Private Sub Worksheet_Change(ByVal Target As Range)
    If c = DetectCol And r >= StartRow And r <= EndRow Then
        'If Cells(r, c) <> v Then
            Cells(r, TimeCol) = Now()
        'End If
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    r = ActiveCell.Row
    c = ActiveCell.Column
    v = ActiveCell.Value
End Sub

#9


请根据实际情况自行更改楼上定义的变量的数值

#10


引用 9 楼 ljc007 的回复:
请根据实际情况自行更改楼上定义的变量的数值

好像还是不行啊

#11


不懂,帮顶

#12


選擇Sheet1(看你哪個表),查看程序代碼
將下面的代碼放進去,保存OK

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1) = Now
End If
End Sub

#13


引用 10 楼 bizbuy 的回复:
好像还是不行啊

行,我一直在用。

#1


是在Excel,还是Access中?

#2


引用 1 楼 dragonrabb 的回复:
是在Excel,还是Access中?

EXCEL中

#3


帮顶
不了解。

#4


我都是手动的,呵呵。
插入当前日期和时间     选取一个单元格,并按 Ctrl+;,然后按空格键,最后按 Ctrl+Shift+;

#5


可以这样试下,在open事件将原来的数据复制到另一张表里,然后就可通过IF函数来判断数据有没有更改,从而确定是用原来的时间还是现在的时间

#6


引用 5 楼 dragonrabb 的回复:
可以这样试下,在open事件将原来的数据复制到另一张表里,然后就可通过IF函数来判断数据有没有更改,从而确定是用原来的时间还是现在的时间 

有没有具体的操作

#7


这个没了解过

#8


'用B列来记录A列的最后修改时间

Dim r As Integer, c As Integer, v As String
Const DetectCol As Integer = 2, StartRow As Integer = 2, EndRow As Integer = 16, TimeCol As Integer = 4

Private Sub Worksheet_Change(ByVal Target As Range)
    If c = DetectCol And r >= StartRow And r <= EndRow Then
        'If Cells(r, c) <> v Then
            Cells(r, TimeCol) = Now()
        'End If
    End If
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    r = ActiveCell.Row
    c = ActiveCell.Column
    v = ActiveCell.Value
End Sub

#9


请根据实际情况自行更改楼上定义的变量的数值

#10


引用 9 楼 ljc007 的回复:
请根据实际情况自行更改楼上定义的变量的数值

好像还是不行啊

#11


不懂,帮顶

#12


選擇Sheet1(看你哪個表),查看程序代碼
將下面的代碼放進去,保存OK

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Offset(0, 1) = Now
End If
End Sub

#13


引用 10 楼 bizbuy 的回复:
好像还是不行啊

行,我一直在用。