Excel 每次特定单元格更改时创建新的日期戳?
我有一个表示项目状态的单元格,该状态将经常更改 每当状态发生更改时,我都希望有一行来说明状态更改的时间和新状态的名称 我几乎没有VBA方面的经验,因此非常感谢您的帮助。到目前为止,我有:Excel 每次特定单元格更改时创建新的日期戳?,excel,vba,datestamp,Excel,Vba,Datestamp,我有一个表示项目状态的单元格,该状态将经常更改 每当状态发生更改时,我都希望有一行来说明状态更改的时间和新状态的名称 我几乎没有VBA方面的经验,因此非常感谢您的帮助。到目前为止,我有: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 4 And Target.Row = 4 Then Target.Offset(10, 3) = Format(Now(), "YYYY-MM
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 4 And Target.Row = 4 Then
Target.Offset(10, 3) = Format(Now(), "YYYY-MM-DD HH:MM:SS")
End If
End Sub
每当单元格D4中包含的状态发生变化时,此代码成功地在单元格G7中列出时间,但它总是重新填充同一单元格,我希望每个连续的状态变化都在单元格G8、G9、G10中列出日期戳,依此类推
它也没有列出状态单元格D4发生了什么变化,理想情况下,我希望它在F7、F8、F9中列出,依此类推
D4
上的工作表更改感兴趣,可以使用下面显示的相交
方法
请试试这个
Private Sub Worksheet_Change(ByVal Target As Range)
Const Tgt As String = "D4" ' monitored cell
Const FirstRecord As Long = 7 ' change as required
Const Fmt As String = "yyyy-mm-dd hh:mm:ss"
Dim Rl As Long ' last used row
If Target.Address = Range(Tgt).Address Then
Application.EnableEvents = False
Rl = Application.WorksheetFunction.Max( _
Cells(Rows.Count, "F").End(xlUp).Row + 1, FirstRecord)
With Cells(Rl, "G")
.Value = Now()
.NumberFormat = Fmt
Target.Copy Destination:=.Offset(0, -1)
End With
Application.EnableEvents = True
End If
End Sub
哇,真是太棒了,太谢谢你了!非常感谢!
Private Sub Worksheet_Change(ByVal Target As Range)
Const Tgt As String = "D4" ' monitored cell
Const FirstRecord As Long = 7 ' change as required
Const Fmt As String = "yyyy-mm-dd hh:mm:ss"
Dim Rl As Long ' last used row
If Target.Address = Range(Tgt).Address Then
Application.EnableEvents = False
Rl = Application.WorksheetFunction.Max( _
Cells(Rows.Count, "F").End(xlUp).Row + 1, FirstRecord)
With Cells(Rl, "G")
.Value = Now()
.NumberFormat = Fmt
Target.Copy Destination:=.Offset(0, -1)
End With
Application.EnableEvents = True
End If
End Sub