这是我算了好一栋工程的量,共有三栋差不多的,但局部有不同,我就想在这工作表里更改,但数据太多我怕搞乱,所以想设置好了当我改变了其中的数据这个单元格就会自动变颜色,这样就能记住哪些改过了,不会弄混。如果改一个标记一个太费时间,有没有什么好设置可以让其自动变颜色,求赐教!
一、问题的解决办法
关于这个问题,只能使用VBA来做,下面,一个非常实用的也很简单的通用的方法。
二、实例制作
1.假如,工作薄中存在这样的一个工作表
2.在这个工作薄的任何一个工作表,只要对方修改了哪个单元格的值,其值与原来的不一样,那么,对应单元格的背景颜色就会变成红色的。
3.以下是制作的过程,请您认真仔细的看了,否则会功亏一篑。
4.在工作表激活的状态下,按下“Alt+F11”组合键,弹出Microsoft Visual Basic窗口,如下图!
5.然后,如上图一样,找到ThisWorkbook点击右键,选择“查看代码”,之后,会弹出如下图的代码编写窗口。
6.上图中,请先选择好“通用”对象名,之后,直接输入上述被选中的代码。
最后,紧跟着直接输入如下的代码,以完成上述的所有代码的输入:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
MyRow = Target.Row
MyColumn = Target.Column
MyNewValue = Cells(MyRow, MyColumn).Value
If (MyNewValue <> MyOldValue) Then
Cells(MyRow, MyColumn).Interior.ColorIndex = 3
End If
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
MyRow = Target.Row
MyColumn = Target.Column
MyOldValue = Cells(MyRow, MyColumn).Value
End Sub
代码输入完成之后,请在Microsoft Visual Basic窗口中进行保存操作,现在,整个代码输入过程就完成了,并且,可以直接使用了。
7.返回到Excel窗口,现在,就来验证一下您的代码吧!
比如,试图将“大众三七网”改成“文山三七”;试图将“2009-8-1”改成“2119-8-1”,那么,这两个单元格的值与原来的就不一样了,因此,它们的背景颜色自然就会自动变成红色的了。
用VBA单元格事件处理,修改过的单元格自动变红色字体
Private Sub Worksheet_Change(ByVal Target As Range)我知道vba和条件格式,问题我不会啊,你知道可以说仔细点吗?
追答上面不是给你代码了吗?条件格式做不到的
追问VBA我只知道,但我不会做啊,代码输入到哪里的?您能把详细步骤都说一遍不?
追答按ALT+F11打开VBA编辑器
选择左边的表名(双击)
把代码粘贴到右边的编辑框中即可
关闭编辑器
在对应的表中修改就明白了
给你个附件,你打开编辑器看下就会明白的
我的按EXCEL就出现这样的,什么也没有,哪有什么左边表名,右边编辑框啊
怎么设置?条件格式里只有当大于某个数,或者大于平均值这些,没有我说的这个条件啊