Excel 使用VBA 使表格的值被修改后填充颜色标注

以前用Excel 用的少 也没有想到Excel还能添加代码 (大虾们不要笑话我)!

问题是: Excel 的工作表数据用颜色标注了的可以做修改不做任何提示, 没有颜色标注的为重要数据 ,其数据被修改后背景色改变且给出相应的提示;

 这用程序来做就比较难做! 所以我就在网上找了一些例子看!

根据例子得整理出了一下效果:

1、修改时提示:

 

2、确定之后改变背景色:

 

3、修改的记录标签:

 

程序上不用写代码! 也达到了我要的效果!

VBA代码:

    Public OldValue
    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Interior.ColorIndex = xlNone Or Target.Interior.Color = RGB(255, 0, 0) Then
            If OldValue <> Target.Value Then
                    xg = MsgBox("如需修改数据请按“确定”,否则按“取消”", vbOKCancel, "提示")
                   If xg = 1 Then
                       Target.ClearComments
                       Target.AddComment
                       Target.Comment.Text Text:=Date & "" & OldValue & "改成" & Target.Value
                        Target.Interior.Color = RGB(255, 0, 0)
                   Else
                       Target.Value = OldValue
                    End If
               End If
        End If
    End Sub

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Count = 1 Then
            OldValue = Target.Value
        End If
    End Sub

 

注意: 保存的方式必须是宏,不然下次打开就没有效果了.

 

posted @ 2017-07-12 16:31  .Alive  阅读(2167)  评论(2编辑  收藏  举报