關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

各位朋友,今天和你們分享Excel中顏色的一些基礎知識,詳見下面列表:

1、顏色索引值及其使用:ColorIndex;

2、顏色的RGB值;

3、顏色的RGB值與十進制值的相互轉換;

4、顏色的RGB值與16進制值的相互轉換;

5、顏色的中文名稱、英文名稱及其使用;

6、贈送的自定義函數演示效果及代碼;


一、顏色索引表

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

顏色索引


在Excel中,顏色索引為1~56,共56個,我們可以用下面的VBA代碼生成顏色索引和對應的顏色:

Sub 生成1至56號顏色()

Dim a%

For a = 1 To 56

Range("A" & a + 2) = a '列生成顏色索引代碼

Range("B" & a + 2).Interior.ColorIndex = a 'B列顯示對應的顏色

Next

End Sub

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

生成顏色

下面我們來看看顏色索引值是怎麼使用的:

1、在工作表中的使用

在工作表中,我們可以用於自定義格式來設置單元格格式(如下圖),我們可以用【[顏色1]~[顏色56]】來調用這56種顏色中的任意顏色(一定要加上中括號)。

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

自定義格式調用顏色索引值

上面的格式設置,使用了自定義格式中的四個區間,分別是:正數;負數;零;文本,每個區間用英文狀態的分號【;】分隔,設置每個區間的格式代碼,當單元格內容為相應格式時,顯示對應的格式的設置效果(如此例中的字體顏色效果),有點類似於條件格式。

2、在VBA代碼中的使用

我們也會用到用VBA代碼給單元格填充顏色,例如我在本節開始生成顏色填充的代碼。代碼中調用顏色索引值的是:

<code>Range("B" & a + 2).Interior.ColorIndex = a/<code>

即,當a=1時,單元格B3填充顏色3;…依次累加…;當a=56時,單元格B58填充顏色58。

注意:這裡用的是ColorIndex,要和後面以示區別。


二、顏色的RGB值

在Office2007及以上的版本中,支持了自定義顏色,即除了以上56種顏色外,可以設置和顯示更多的顏色。見下圖:

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

RGB顏色設置

RGB是顏色三原色的縮寫:R(ed)紅色,G(reen)綠色,B(lue)藍色,每個顏色基色用8bit數據表示,即2^8=256色。通過設置RGB值,我們可以獲得256×256×256=16777216種顏色。這個常用於在工作表中對單元格底色、單元格字符顏色、單元格邊框顏色等的設置(在VBA中的使用,見下一節)。

給大家分享一個自定義函數,用於直接提取單元格填充色的RGB值

Function GetRGB(Rng As Range)

Application.Volatile '定製該函數為易失性函數

If Rng.Count > 1 Then

GetRGB = "請選擇單個單元格" '限制選取單個單元格

Else

Dim Cr, R, G, B '申明變量

Cr = Rng.Interior.Color '獲取單元格顏色值

R = Cr Mod 256 '計算顏色R值

G = (Cr - R) / 256 Mod 256 '計算顏色G值

B = (Cr - R - G * 256) / 256 ^ 2 '計算顏色B值

GetRGB = R & "," & G & "," & B '輸出RGB值

End If

End Function

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

獲取單元格填充色的RGB值

請大家注意代碼中的這句:【Rng.Interior.Color】,與上面的【Range().Interior.ColorIndex】的區別:

①Interior.Color表示單元格的顏色值,即顏色的十進制值;

②Interior.ColorIndex表示單元格的顏色索引,即數字1~56。

在用VBA填充單元格顏色的時候,一定要注意Color和ColorIndex的區別。下面我給大家說說顏色的十進制值。


三、顏色RGB值與十進制值相互轉換

在上一節的代碼中,是把十進制的顏色值轉換為RGB的顏色值,那麼RGB的顏色值是怎麼轉換為十進制的顏色值的呢?公式如下:

<code>十進制顏色值=R×256^0+G×256^1+B×256^2/<code>

獲取十進制值的方法:①直接用代碼Interior.Color獲取;②通過上面的公式,用RGB值計算的來。

我們對單元格顏色填充的過程錄製一個宏。通過錄制的代碼,可以看出代碼中用的顏色值是十進制的,同樣我們可以把要填充的顏色,通過RGB值或十進制值,利用VBA代碼填充到單元格中(見下圖)。

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

RBG值和顏色值在VBA中的使用

四、顏色RGB值與的十六進制值相互轉換

這個在EXCEL中用得很少,主要給大家分享RGB顏色值與16進制的顏色代碼相互轉換的原理:

通過最前面的顏色索引表,可以看出16進制的顏色代碼由6個字符(除井號)組成,分為三組:1~2位是R顏色的代碼,3~4位是G顏色的代碼,5~6位是B顏色的代碼。轉換過程也比較簡單 ,用工作表內置的十進制轉16進制函數【DEC2HEX】,將10進制的R、G、B值分別轉化為16進制的R、G、B值(注意格式為兩位數),然後將R、G、B的16進制代碼按順序合併起來,再最前面加上井號。

16進制的顏色代碼,要轉換為RGB的值,用16進制轉10進制函數【HEX2DEC】反過來操作就可以了。

五、顏色中文、英文名稱及其使用

在Excel中,有部分顏色,可以直接使用名稱明細如下:.

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

可用直接使用名稱的顏色

可用中文名稱的顏色(7個):黑色、白色、紅色、綠色、藍色、黃色、洋紅;

可用英文名稱的顏色(8個):vbBlack、vbWhite、vbRed、vbGreen、vbBlue、vbYellow、vbMagenta、vbCyan。

1、中文名稱用在自定義格式中,詳見下圖

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

中文顏色名稱在自定義格式中的使用

2、英文名稱用在VBA代碼中,詳見下圖

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

英文名稱在VBA中的使用


案例中,主要用單元格填充效果,是因為單元格填充顯示效果更明顯。能用於單元格底色的顏色代碼,同樣可以用於單元格中字體、單元格邊框、繪製的圖形線條和填充、圖表的顏色等。


既然說到顏色,很多人都有按顏色來對單元格進行計算的需求,今天贈送大家一個自定義函數,可以實現按顏色對數據進行求和、統計、合併。效果如下:

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

按顏色計算的自定義函數

關於Excel的顏色,全部在這裡。還贈送您一個顏色的自定義函數

自定義函數的代碼

由於自定義代碼較多,單獨貼出來會影響閱讀效果,故直接截圖上傳的。有需要文中案例和代碼的朋友,可以關注我,然後用私信 發送關鍵字【顏色】就可以獲文中所有的資料和代碼(由於用的是VBA代碼,需要啟用宏才能正常使用)。

另外,在關於顏色計算上,你們還有比較好的建議或者問題,都可以在下面給我留言、討論。


好了,今天就到這裡,感謝各位朋友的關注和支持。

如果你喜歡我分享的內容,請點個贊支持下;

如果你覺得我分享的內容對你有幫助,可以關注我;

如果要看我以前分享過的好玩的內容,大家可以去我的主頁查看歷史文章。


分享到:


相關文章: