为什么通过Worksheet_Change事件禁用撤消功能?

时间:2019-07-03 16:52:09

标签: excel vba

当更改A:AH范围内的任何内容时,我使用宏在AJ列中打印时间戳,但是它禁用了Excel中的撤消功能。我还使用了另一个worksheet_change事件,该事件会自动大写文本,但不会禁用撤消功能。为什么此代码禁用撤消功能,并且有什么解决方法?感谢您的帮助

Private Sub Worksheet_Change(ByVal Target As Range)
' Code to print timestamp in Column AJ following a change in a corresponding row
    Dim WorkRng As Range, row As Long
    Dim rng As Range
    Set WorkRng = Intersect(Range("A:AH"), Target)
    If Not WorkRng Is Nothing Then
        Application.EnableEvents = False
            For Each rng In WorkRng
                row = rng.row
                If Not rng.Value = "" Then
                    Cells(row, "AJ").Value = Now
                    Cells(row, "AJ").NumberFormat = "mm/dd/yyyy hh:mm:ss"
                Else
                    Cells(row, "AJ").Value = Now
                    Cells(row, "AJ").NumberFormat = "mm/dd/yyyy hh:mm:ss"
                End If
            Next
        Application.EnableEvents = True
    End If

End Sub

0 个答案:

没有答案