Hello,大家好,今天跟大家分享我们如何实现实现点击一个单元格,自动为数据区域的整行填充一个颜色,效果如下图,当我们点击一个单元格的时候们就会为整行填充一个颜色,这个的操作跟我们之前分享的聚光灯效果十分的相似,他的操作也不难,在这里跟大家分享2中方法,下面就让我们来看一下他是如何操作的
一、使用vba
对于这种自动填充颜色的功能,最简单有效的方法就是使用vba来实现这样的操作,首先我们点击工作表的名称然后点击鼠标右键选择查看代码,将如如下代码粘贴进对话框中,然后直接将其关闭,这样的话当我们回到excel中就会发现,当我们点击某一个单元格的时候就会为整行填充红色
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells.Interior.TintAndShade = 0
r = ActiveCell.Row
Rows(r & “:” & r).Interior.Color = vbRed
End Sub
二、使用条件格式
使用条件格式实现这样的效果,我们需要用到的cell函数,cell函数是宏表函数,所谓宏表函数是vba的前身,现在已经被vba所取代,不过我们仍然可以使用,但是只能通过定义名称来调用函数,不能直接使用函数
Cell函数:它可以返回所引用单元格的格式、位置或内容等信息
第一参数:info_type,指定所需的单元格信息的类型。
第二参数:需要其有关信息的单元格,如果省略 reference,则在 info_type 中指定的信息将返回给最后更改的单元格
Cell函数的第一参数的信息类型很多在这里我们仅仅用到他的 “row”这一个信息类型,它的作用是自动获取鼠标点击的单元格的行号
首先我们点击想要设置的数据区域,然后找到条件格式,选择新建规则,然后选择使用公式确定格式,输入公式= CELL(“row”)=ROW(),然后点击格斯找到填充选择一个自己喜欢的然后点击确定,这样的话我们就为鼠标点击的整行填充了颜色
这样做有一个缺点就是我们需要双击单元格然后移动鼠标才能为整填充颜色,这是因为宏表函数不能实现自动刷新导致的,我们可以使用vba来实现数据的自动刷新,首先我们点击表格的名称,然后点击鼠标右键选择选择查看代码在代码输入窗口中将通用更改为worksheet,然后加上一个单词:calculate然后关闭这个界面,这个时候就能实现自动刷新我们点击某一个单元格就能实现自动填充颜色的效果
最后需要注意的是我们使用这两种方法设置自动填充颜色,需要将表格的格式另存为xlsm的格式,因为只有这个格式的文件才能储存vba代码,当我们打开文件的时候需要选择启用宏这样的话代码才能起到作用,
怎么样,你学会了吗?