選單

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

前景提要

利用Excel自帶的條件格式功能來查詢資料中的重複項,是我們比較常用的功能

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

Excel自帶的重複值高亮功能確實是很實用,重複項高亮之後,我們直接刪除重複值就可以了,對於刪除重複資料是比較的方便的

但是有時候,我們利用重複項高亮功能,並不是為了刪除資料,而是為了找出重複資料進行分析的,這個時候就會有一個BUG,所有的重複資料都用一種顏色高亮展示了,我們無法區分具體的那個資料是哪個,這就比較麻煩

比方說下面的資料,我想要看看哪些童鞋的語文成績是相同的

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

最終得到的效果是都是高亮,那就是說其他除去98分之後,其他的分數都有相同的資料存在,這樣的效果並不好,有沒有可能實現一個分數一個顏色這樣的高亮模式呢?

完全可以,如果你對Excel的功能足夠了解的話,你可以選擇使用區間

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

但是這樣設定不好的地方就是,一次只能設定一個數據,如果我們需要高亮顯示多個數據,就需要來來回回的設定多次,非常的麻煩,當然了,既然覺得麻煩,我們就需要使用VBA了

場景說明

直接進入正題,來看看今天的數

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

我們現在希望將左邊的表中,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判斷,來看看效果

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

程式碼的效果還是非常的漂亮的,這樣高亮標記重複資料的功能,是不是更加的清晰一點呢?

程式碼解析

今天的程式碼的核心,就是單元格的著色

a。Interior。Color = vbRed

其實也是很簡單的,

Interior在英文中是代表著內部的意思(我百度的。。。英文不好~~哈哈)

a在我們的程式碼中代表中單元格本身,單元格內部的顏色,不就是背景色嘛?是不是很好記

然後來到了顏色,很多小夥伴們就開始頭疼了,是不是顏色要用非常複雜的數字來表示呢?

Excel VBA 8.33 完善重複項功能 根據不同資料高亮不同顏色

其實不用這麼複雜,看我程式碼中的寫法

紅色=vbRed,紅色的英文是red,既然我們使用VBA,那前面加上VB就可以了。

藍色=vbBlue

……。

也是一樣的道理。

今天的知識點很簡單,主要就是讓大家知道如何利用VBA來給單元格著色。