網路城邦
上一篇 回創作列表 下一篇   字體:
[Excel VBA]活頁簿裡只能使用 56 種顏色?
2009/03/03 15:43:10瀏覽31445|回應6|推薦0

上圖是我寫的一個增益集,可以點這裡下載:

(
2017.12.30 - 很抱歉,網路下載已被取消,有興趣請 email 給我way2cheng@gmail.com)

在 Excel 裡, 當我們在儲存格 "格式" 設定裡設定儲存格背景或字型顏色的時候, 最多只能用到 56 種顏色。Excel 會把色版儲存在活頁簿檔案裡, 每個活頁簿檔案允許有它專用的 56 個顏色, 色版裡的 1 ~ 56 號顏色是可以改的, 可能是因為Excel活頁簿檔案裡有太多設定要記錄了, 所以規格設計成只儲存 56 個顏色。(Excel 畢竟不是繪圖軟體, 顏色過多沒用!!! )

在巨集裡, 我們可以這樣做:

Cells(1, 1).Font.ColorIndex = 3  '將 A1 儲存格的字型設為 3 號色 (預設為紅色)

Cells(1, 1).Interior.ColorIndex = 3  '將 A1 儲存格的背景設為 3 號色 (預設為紅色)

ColorIndex 就是色版裡的顏色編號 (1~56), 上面我說 " 3 號色 (預設為紅色)", 因為 3 號也可以改成其他顏色。

我們也可以用 RGB 的方式直接指定顏色, 不管那個顏色是色版裡的第幾號:

Cells(1, 1).Interior.Color = RGB(30, 100, 180)

這樣看起來, 我們是不是就有 256x256x256 種顏色可用了? 底下這個程式會跑出 256x256 = 65536 種顏色組合:

Sub RGBTest()
For i = 0 To 255
    For j = 0 To 255
        Worksheets("sheet1").Cells(i+1, j+1).Interior.Color = RGB(i, j, 0)
        Worksheets("sheet1").Cells(i+,1 j+1) = i & "x" & j
    Next j
Next i
End Sub

看看 sheet1 顯示的結果, 實際只有(大概算一下)16種顏色, 跑完底下這個程式, 你就知道雖然我們用不同的 RGB 去組合, Excel 仍然只用 56 種顏色, 因為不管你的 RGB 組合為何, 它都可以對應到一個色版裡的一個顏色:

Sub RGBTest2()
For i = 0 To 255
    For j = 0 To 255
        Worksheets("sheet1").Cells(i + 1, j + 1).Font.Color = RGB(i, j, 0)
        Worksheets("sheet1").Cells(i + 1, j + 1).Value = CInt(Worksheets("sheet1").Cells(i + 1, j +   1).Font.ColorIndex)
    Next j
Next i
End Sub

分享我寫的增益集:

(2017.12.30 - 很抱歉,網路下載已被取消,有興趣請 email 給我way2cheng@gmail.com)

下載這個檔案, 把它解壓縮得到 修改調色盤.XLA 檔,copy到 C:\Documents and Settings\使用者名稱\Application Data\Microsoft\Addins 資料夾裡
然後在 Excel 的 [工具]--[增益集] 功能裡會看到 "Colorsetting" 這個增益集, 勾選它按確定, Excel 的 "一般" 工具列裡會多出一個像調色盤的工具鈕 (最左端的第一個), 就是它啦!

點下Colorsetting 增益集工具鈕, 會跳出一個功能視窗, 裡面會 show 出
"現用活頁簿" 的色版, 你可以任意點選那 56 個顏色 (1~56號), 修改它們的 R, G ,B 值, 按確定鈕 (每一號顏色修改之後都需按確定才會生效), 就可以更改那個顏色。

 

( 興趣嗜好電腦3C )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=WayCheng&aid=2705003

 回應文章

r52535253@yahoo.com.tw
2013/08/23 21:38
ok


等級:
留言加入好友
無法使用
2012/12/04 14:46
你好,我發現在 Excel 2003/2007 之這版本,都無法使用,請問有這之後版本可以用的嗎?謝謝你

威廉
檔案需求
2011/05/03 16:01
可以再更新一下連結嗎? 好像失效了!

求救
請問如何用vba去控制箭頭顏色或快取圖案之流程圖:決策之線條顏色?
2010/02/24 20:23

可以請問各位大大, excel vba針對excel繪圖功能所手動繪出的東西(如箭頭,快取圖案之流程圖:決策等),可以去控制其線條顏色嗎?(即可用vba去控制箭頭顏色或快取圖案之流程圖:決策的線條顏色嗎?)

若可以,請問該如何下此線條顏色控制的vba指令?


A
活頁簿裡只能使用 56 種顏色?
2009/10/12 19:21
無法下載,請問有新的載點嗎?謝謝
ThisIsTheWay(WayCheng) 於 2009-10-13 20:46 回覆:
已重新上傳了,請點選上面的鍊結。

123
活頁簿裡只能使用 56 種顏色?
2009/10/12 18:59

活頁簿裡只能使用 56 種顏色?

無法下載,可否請大大幫忙