【发布时间】:2017-05-22 08:21:11
【问题描述】:
如果用户在特定工作表上更改为不同的值,我想编写一些 VBA 来更改单元格的颜色。
每个月,用户都会对该月的同一张工作表进行更改。用户将更改某些字段。没有可能发生的变化的列表,因为它可能是任何东西。我们已要求用户突出显示他们是否对 Excel 工作表中的单元格进行了更改。但我想编写一个自动检测的宏。但是,如果他们犯了错误并将单元格恢复为原始值(打开文件的点),则不需要突出显示。
如果值发生变化,我有此代码可以更改单元格的颜色
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Interior.Color = RGB(181, 244, 0)
End Sub
但是如果值变回原来的值,我该如何变回无颜色呢?
提前非常感谢。
【问题讨论】:
-
您可以在您认为单元格处于其“原始值”的位置(工作簿打开?最初创建工作表时?)复制完整的工作表,然后进行比较当前值到“原始”工作表中等效单元格的值。
-
是否有设定值,或者它是否可以是它开始并可以更改为的任何值?
-
我已经编辑了我的帖子
-
问题是你怎么知道原来的值是多少,如果单元格1=10,单元格2=20,如果单元格1变成15,那么颜色就变了,你怎么记得原来的当值现在是 15 时,值是 10,所以你必须有一些方法来存储原始数据