✔ 最佳答案
共有 8 個顏色,咁儲存格要有幾多個呢?
例如︰A1到A8?定係更大範圍?或整張工作表都要轉色?
因為要寫VBA程式
2008-06-13 14:39:09 補充:
在 Excel 開「工具」>「巨集」>「Visual Basic 編輯器」
雙擊左邊「專案 - VBAProject」內你需要的工作表(在這例子用 Sheet1)
在「程式碼」視窗左邊選「Worksheet」右邊選「SelectionChange」
把程式碼貼在 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 和 End Sub 中間
可以關閉「Visual Basic 編輯器」
再到「工具」>「巨集」>「安全性」
在安全性視窗的「安全性層級」設定為「中」級,如果設定為「高」級,EXCEL下次開啟開會停用這「巨集」。
以下是你要的程式碼,你要把 Sheet1 改回你在 Excel 內的工作表名稱。
Worksheets("Sheet1").Activate
Select Case ActiveCell.Value
Case 1
ActiveCell.Interior.Color = RGB(255, 0, 0)
Case 2
ActiveCell.Interior.Color = RGB(255, 128, 0)
Case 3
ActiveCell.Interior.Color = RGB(255, 255, 0)
Case 4
ActiveCell.Interior.Color = RGB(0, 255, 0)
Case 5
ActiveCell.Interior.Color = RGB(128, 255, 0)
Case 6
ActiveCell.Interior.Color = RGB(0, 0, 255)
Case 7
ActiveCell.Interior.Color = RGB(128, 0, 255)
Case 8
ActiveCell.Interior.Color = RGB(192, 192, 192)
Case Else
ActiveCell.Interior.ColorIndex = xlColorIndexNone
End Select
圖片參考:
http://hk.geocities.com/tult010/knowledge/Alex.gif
2008-06-14 12:06:25 補充:
Case "ST"
ActiveCell.Interior.Color = RGB(192, 192, 192)
Case "HA"
ActiveCell.Interior.Color = RGB(192, 192, 192)
照樣加到 Case Else 之前,係文字就用 "ST" 括住佢,但留意空白位,RGB 顏色自己改。在「發表意見」內回答問題,因為字數有限,不能寫太多,如有複雜問題,請發問新的問題,請見諒!
2008-06-16 09:35:27 補充:
ActiveCell 係控制當前儲存格,例如你在B5輸入完資料按Enter才算完成B5的資料輸入,但同時當前儲存格會跳到B6,VBA這時才被啟動處理B6儲存格。
你可以試在A1輸入完資料不按Enter按右箭咀,A1右邊沒有儲存格,當前儲儲存格仍然在A1,這樣VBA會處理A1儲存格。
2008-06-17 00:29:58 補充:
以下程式第一行尾的 "A1:D10" 係選擇可以轉色的儲存格範圍,你可以自行修改,因為要即時處理沒有指定目標的儲存格,每輸入資料按 Enter 一次,Excel 便要處理「所選範圍」儲存格一次,範圍越廣 Excel 執行處理越耐,你自己決定吧!
2008-06-17 00:30:39 補充:
For Each c In Worksheets(ActiveSheet.Name).Range("A1:D10")
Select Case c.Value
Case 1
c.Interior.Color = RGB(255, 0, 0)
Case 2
c.Interior.Color = RGB(255, 128, 0)
2008-06-17 00:31:02 補充:
Case 3
c.Interior.Color = RGB(255, 255, 0)
Case 4
c.Interior.Color = RGB(0, 255, 0)
Case 5
c.Interior.Color = RGB(128, 255, 0)
Case 6
c.Interior.Color = RGB(0, 0, 255)
2008-06-17 00:31:24 補充:
Case 7
c.Interior.Color = RGB(128, 0, 255)
Case 8
c.Interior.Color = RGB(192, 192, 192)
Case Else
c.Interior.ColorIndex = xlColorIndexNone
End Select
Next c
2008-06-17 02:11:44 補充:
到「檢視」>「工具列」剔選「剪貼簿」
用「剪貼簿」來剪下、複製及貼上