使用VBA跟踪Excel中的更改 - 建议?

时间:2015-07-14 18:48:21

标签: excel vba excel-vba

我有大量的工作簿(~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将宏大量地放入工作簿中。

0 个答案:

没有答案