Mat*_*der 1 excel vba excel-vba
我有一个excel文件,其中有几个表格,其中包含"Last change:"字段.如果对该表进行任何更改,该字段应更新为当前日期.
我实现了一个宏,它做了它应该做的,但不幸的是它禁用了"反向"(Strg + Z)功能,这是非常烦人的.因此,我编辑了宏,以便反向功能再次起作用.我的宏现在看起来像这样:
Option Explicit
Public Merker
Private Sub Worksheet_Change(ByVal Target As Range)
If Not ThisWorkbook.ReadOnly Then
Application.OnUndo "Rev. Change", "Wiederherstellen"
Merker = Cells(3, 2)
Cells(3, 2) = Date
End If
End Sub
Sub Wiederherstellen()
Cells(3, 2) = Merker
End Sub
Run Code Online (Sandbox Code Playgroud)
当我应用此宏时,Excel会在我对文档进行更改时崩溃.我的代码中有无效的东西吗?我真的很想知道,因为没有错误消息或错误的行为,只有应用程序崩溃.每次都会可靠地发生此崩溃.
谢谢你的帮助!
你的事件可能会在无限循环中调用自己.尝试禁用事件以停止代码在此行上重新调用自身Cells(3, 2) = Date
Private Sub Worksheet_Change(ByVal Target As Range)
If Not ThisWorkbook.ReadOnly Then
Application.EnableEvents = False
Application.OnUndo "Rev. Change", "Wiederherstellen"
Merker = Cells(3, 2)
Cells(3, 2) = Date
Application.EnableEvents = True
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
597 次 |
| 最近记录: |