我目前正在使用Excel VBA上的需求管理工具。
在G列中,我有需求的状态(待办,待处理,进行中,已完成),在M列中,我想在用户更改值时自动跟踪状态的变化。
我要获取的是类似“状态从...更改为”和[状态t]和“至”和[状态t + 1]和“开启”和[时间戳记]之类的内容 示例:“状态从进行中的状态更改为在2019/09/05-15:30完成”
我是VBA的初学者,所以我不知道从哪里开始此任务...
谢谢!
答案 0 :(得分:0)
您需要将代码附加到sheet_change事件。每次工作表更改时都会调用此方法。代码需要检查已更改的单元格是否在目标列(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