gpt4 book ai didi

excel - 在更改事件时将时间戳应用于动态行

转载 作者:行者123 更新时间:2023-12-04 21:22:11 25 4
gpt4 key购买 nike

目标:

我希望根据更改事件将日期/时间戳放入被更改行中最后一列之外的一列。选定单元格的值将与不再是目标时的相同单元格的值进行比较。

当前代码:

在 Sheet1 查看代码内

Private Sub Worksheet_Change(ByVal Target As Range)

'MsgBox "Now: " & Now()

Dim i, j As Integer
Dim k As String
Dim LC As Long

i = Target.Row
j = Target.Column
k = Target.Value
LC = Cells(i, Columns.Count).End(xlToLeft).Column

If Not Cells(i, j).Value = k Then
Cells(i, LC + 1).Formula = Format(Now(), "yyyyMMddhhmmss")
End If

End Sub

问题:

尝试运行此代码后,我无法获得任何输出。我使用 MsgBox "Now:"&now() 进行了测试,它确实向我表明更改事件代码位于正确的位置(我已将其注释掉,但这是我检查应该出现的内容的方式。

我认为,通过在 If 语句之外定义 i、j 和 k,我可以保存这些值并比较选择时的值与未选择时的值。

问题:

我设置此代码的方式是否不合适,如果是这样,我将如何纠正它以使其更合适?这是我第一次玩更改事件。

Edit1:考虑@ScottCraner 的评论,为目标添加更多细节

最佳答案

根据您想要的评论:

Private Sub Worksheet_Change(ByVal Target As Range)

'MsgBox "Now: " & Now()

Dim i As Long

Dim LC As Long

i = Target.Row
LC = Cells(i, Columns.Count).End(xlToLeft).Column

Application.EnableEvents = False
Cells(i, LC + 1).Formula = Format(Now(), "yyyyMMddhhmmss")
Application.EnableEvents = True

End Sub

关于excel - 在更改事件时将时间戳应用于动态行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42725783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com