我有大量的工作簿(~4500),每个工作簿有四张,我需要能够跟踪更改。目前我有以下代码:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
vnew = Target.Value
vaddress = Target.Address
Application.EnableEvents = False
Application.Undo
vold = Target.Value
If vold = "" Then
Target.Value = vnew
Target.Interior.ColorIndex = 6 'make this whatever color you want for when it used to be blank
ElseIf vold <> vnew Then
Target.Value = vnew
Target.Interior.Color = RGB(146, 208, 80) 'make this whatever color you want for when the cell changed
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
不幸的是,这对于试图复制和粘贴文本块的用户来说是错误的,并且也不是理想的,因为它会停止使用撤消的能力。我们已经考虑过使用条件格式,但是必须将所有四张表复制到“* _old”表单中,或者类似的东西要比较一些东西,对于我们必须使用的大量工作簿来说似乎不可行。 / p>
由于项目需要,我们也无法使用内置的Excel跟踪更改。我们需要突出显示细胞。
有人对此有任何建议或尝试过的方法吗?
顺便说一下,我们现在正在使用Python将宏大量地放入工作簿中。