公式单元格自动着色

数字办公

杨娟:为了让公式计算出来的数据与手工输入的数据有所区别,我会把用公式计算的单元格的底纹设成某个填充色以防止误删公式,但这样做有时仍无法避免误操作。怎样才能让含有公式的单元格自动设置为某种填充色,而手工输入的数据则不会改变呢?

办公专家陈邓新:要想实现这一功能其实很容易,只需要用VBA代码判断一下当前单元格中是否含有公式,如果有则修改当前单元格中的填充色和字体颜色(如蓝底黑字),否则保持原来的颜色(如白底黑字)。

按组合键“Alt+F11”打开VBA编辑器,在当前工作表的Change事件中编写代码(下载地址:http://download.cpcw.com),关键代码解释如下:

If Target.HasFormula Then

判断当前单元格中是否含有公式

Target.Interior.ColorIndex=5

有就给单元格设置蓝色底纹

Target.Font.ColorIndex=0

设置文字颜色为黑色

Else

Target.Interior.ColorIndex=2

给单元格设置白色底纹

Target.Font.ColorIndex=0

设置文字颜色为黑色

代码编写完成后,返回到当前的工作表中,在任意单元格中输入公式后按下回车键,系统自动将当前的单元格的格式设置为蓝底黑字,而手工填写的数据则保持为白底黑字(见图)。

13-f14-2-1.jpg

为了有效地防止用户在输入数据时误删公式,除了给含有公式的单元格设置蓝色底纹外,还可以在工作簿的SelectionChange事件中加入警示代码(下载地址http://download.cpcw.com)。增加这一功能以后,当用户选中了含有公式的单元格时,系统会给出警告提示,这样就不至于误删公式了。