【问题标题】:VBA - Update timestamp when a row range is editedVBA - 编辑行范围时更新时间戳
【发布时间】:2019-03-22 12:02:35
【问题描述】:

我在尝试将 VBA 代码组合在一起时遇到一些问题,该代码将在每次编辑行中的某些内容时更新时间戳。

所以我需要的是 A3 中的时间戳,用于编辑 B3:CA3 中的某些内容,以此类推,每行最多 1000 个。

我已经环顾四周,但到目前为止我发现的所有代码都只与特定列相关,而不是与行范围相关...

任何帮助将不胜感激。

【问题讨论】:

  • 澄清 - 通过时间戳 - 我需要日期和时间。

标签: excel vba timestamp range row


【解决方案1】:

试试这个工作表事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range, Intersection As Range, cell As Range
    Set r = Range("B3:CA1003")
    Set Intersection = Intersect(r, Target)

    If Intersection Is Nothing Then Exit Sub

    Application.EnableEvents = False
        For Each cell In Intersection
            Range("A" & cell.Row).Value = Date & " " & Time
        Next cell
    Application.EnableEvents = True
End Sub

因为是工作表代码,所以安装非常容易,自动使用:

  1. 右键单击 Excel 窗口底部附近的选项卡名称
  2. 选择查看代码 - 这将打开一个 VBE 窗口
  3. 粘贴内容并关闭 VBE 窗口

如果您有任何疑虑,请先在试用工作表上进行尝试。

如果您保存工作簿,宏将与它一起保存。 如果您使用的是 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx

要删除宏:

  1. 如上所示打开 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

要了解有关宏的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

和

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件宏(工作表代码)的更多信息,请参阅:

http://www.mvps.org/dmcritchie/excel/event.htm

必须启用宏才能正常工作!

编辑#1:

要同时获取 NT 用户名和应用程序用户名,请尝试:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range, Intersection As Range, cell As Range
    Dim s As String

    Set r = Range("B3:CA1003")
    Set Intersection = Intersect(r, Target)
    s = vbCrLf & Environ("USERNAME") & vbCrLf & Application.UserName

    If Intersection Is Nothing Then Exit Sub

    Application.EnableEvents = False
        For Each cell In Intersection
            Range("A" & cell.Row).Value = Date & " " & Time & s
        Next cell
    Application.EnableEvents = True
End Sub

【讨论】:

  • 工作就像一个魅力!谢谢!比我想象的要简单得多!
  • 是否也可以在 B 列中添加编辑该行的“用户名”?然后,我会将您的代码范围从 B3 更改为从 C3 开始。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-14
  • 2012-08-25
  • 2011-12-22
  • 1970-01-01
相关资源
最近更新 更多