我正在嘗試編寫一個在編輯表單時自動運行的宏。列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本身不會關閉,我不得不使用任務管理器來結束它。