我目前正在开发一个基于Excel VBA的需求管理工具。
在G列中,我有需求的状态( to -Do、Pending、Work In Progress、Completed),在M列中,我希望在用户更改值时自动跟踪状态的变化。
我正在尝试获取类似于“状态从”& state t&“更改为”& state t+1 & " on“& timestamp示例:”状态从正在进行更改为在2019/09/05 -15:30完成“
我是VBA的初学者,所以我不知道从哪里开始这个任务…
提前感谢!
发布于 2019-09-05 18:02:31
您需要将代码附加到sheet_change事件。每次工作表更改时都会调用此方法。代码需要检查更改的单元格是否在目标列(G)中,如果在目标列(G)中,则将适当的值写入到列M中的相邻单元格中。要将代码附加到事件,它必须位于相应工作表的工作表模块中。按Alt-F11组合键启动VB编辑器。在项目资源管理器中,双击相应的工作表以打开工作表模块。将以下代码粘贴到该模块中。
Private Sub Worksheet_Change(ByVal Target As Range)
if target.column = 7 then 'if column G then...
Application.EnableEvents = false 'stop tracking changes
Cells(target.row,13) = "State changed on " & format(date(),"yyyy/mm/dd hh:mm")
Application.EnableEvents = true
End If
End Sub
https://stackoverflow.com/questions/57802504
复制相似问题