Excel VBA 8.33对飚Excel重复项高亮功能 实现更加多彩的高亮
利用Excel自带的条件格式功能来查找数据中的重复项,是我们比较常用的功能
点击上方“Excel和VBA”,选择“置顶公众号”
致力于原创分享Excel的相关知识,源码,源文件打包提供
一起学习,一起进步~~
利用Excel自带的条件格式功能来查找数据中的重复项,是我们比较常用的功能
Excel自带的重复值高亮功能确实是很实用,重复项高亮之后,我们直接删除重复值就可以了,对于删除重复数据是比较的方便的
但是有时候,我们利用重复项高亮功能,并不是为了删除数据,而是为了找出重复数据进行分析的,这个时候就会有一个BUG,所有的重复数据都用一种颜色高亮展示了,我们无法区分具体的那个数据是哪个,这就比较麻烦
比方说下面的数据,我想要看看哪些童鞋的语文成绩是相同的
最终得到的效果是都是高亮,那就是说其他除去98分之后,其他的分数都有相同的数据存在,这样的效果并不好,有没有可能实现一个分数一个颜色这样的高亮模式呢?
完全可以,如果你对Excel的功能足够了解的话,你可以选择使用区间
但是这样设置不好的地方就是,一次只能设置一个数据,如果我们需要高亮显示多个数据,就需要来来回回的设置多次,非常的麻烦,当然了,既然觉得麻烦,我们就需要使用VBA了
场景说明
直接进入正题,来看看今天的数
我们现在希望将左边的表中,99,98,97,96这四个分数用不同的颜色标注出来,以方便我们区分
非常简单, 直接看代码
代码区
Sub test()
Dim rng As Range, a As Range
Set rng = Application.InputBox("请选择单元格区域", "区域的选择", , , , , , 8)
rng.Interior.Pattern = xlNone
For Each a In rng
If a = Cells(1, 9) Then
a.Interior.Color = vbRed
ElseIf a = Cells(2, 9) Then
a.Interior.Color = vbBlack
ElseIf a = Cells(3, 9) Then
a.Interior.Color = vbBlue
ElseIf a = Cells(4, 9) Then
a.Interior.Color = vbYellow
End If
Next a
End Sub
虽然代码有点长,但是主要是因为嵌套了一个常用的if判断,来看看效果
代码的效果还是非常的漂亮的,这样高亮标记重复数据的功能,是不是更加的清晰一点呢?
代码解析
今天的代码的核心,就是单元格的着色
a.Interior.Color = vbRed
其实也是很简单的,
Interior在英文中是代表着内部的意思(我百度的。。。英文不好~~哈哈)
a在我们的代码中代表中单元格本身,单元格内部的颜色,不就是背景色嘛?是不是很好记
然后来到了颜色,很多小伙伴们就开始头疼了,是不是颜色要用非常复杂的数字来表示呢?
其实不用这么复杂,看我代码中的写法
红色=vbRed,红色的英文是red,既然我们使用VBA,那前面加上VB就可以了。
蓝色=vbBlue
。。。。。。。也是一样的道理。
今天的知识点很简单,主要就是让大家知道如何利用VBA来给单元格着色。