我正在尝试编写一个在编辑工作表时自动运行的宏。H 列的标题为“已更新”,宏应将今天的日期放在单元格 H# 中,其中 # 是已更改单元格的行。这是我使用的代码:
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 本身不会关闭,我不得不使用任务管理器来结束它。