我正在尝试编写一个在编辑表单时自动运行的宏。列H的标题为“已更新”,并且宏应将今天的日期放在单元格H#中,其中#是已更改的单元格的行。下面是我使用的代码:Excel VBA - 更改单元格时运行宏
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Select
Range("H" & ActiveCell.Row).Select
ActiveCell.Value = Date
End Sub
保存工作簿,并更改单元格A2的值之后,代码把今天的日期为H2如我所料,但后来给了我一个错误。我点击调试,并突出显示Target.Select
行。我认为循环是问题,所以我更新的代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target.Select
Range("H" & ActiveCell.Row).Select
ActiveCell.Value = Date
Application.EnableEvents = True
End Sub
这一次,我改变了B3单元格的值,它把今天的日期为B4。然后,Excel部分冻结:我仍然可以编辑该工作簿,但无法打开或查看任何其他工作簿。我关闭了所有的工作簿,但是Excel本身不会关闭,我不得不使用任务管理器来结束它。