前景提要
利用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來給單元格著色。