Excel在格式菜單下有一個條件格式選項,允許您根據其值更改樣式/顏色/字體/任何單元格。但它只允許三個條件。Excel電子表格中的多個單元格背景顏色
如何根據單元格的值讓Excel顯示說,六種不同的背景單元格顏色? (如果值爲「紅色,請將單元格設爲紅色,如果爲」藍色「,則將單元格設爲藍色)
Excel在格式菜單下有一個條件格式選項,允許您根據其值更改樣式/顏色/字體/任何單元格。但它只允許三個條件。Excel電子表格中的多個單元格背景顏色
如何根據單元格的值讓Excel顯示說,六種不同的背景單元格顏色? (如果值爲「紅色,請將單元格設爲紅色,如果爲」藍色「,則將單元格設爲藍色)
您需要在VBA中編寫一些內容。 Get Around Excels 3 Criteria Limit in Conditional Formatting:
這裏見例如
Private Sub Worksheet_Change(ByVal Target As Range)
Dim icolor As Integer
If Not Intersect(Target, Range("A1:A10")) is Nothing Then
Select Case Target
Case 1 To 5
icolor = 6
Case 6 To 10
icolor = 12
Case 11 To 15
icolor = 7
Case 16 To 20
icolor = 53
Case 21 To 25
icolor = 15
Case 26 To 30
icolor = 42
Case Else
'Whatever
End Select
Target.Interior.ColorIndex = icolor
End If
End Sub
Excel 2007中允許多於三個條件。引用自this Microsoft page:
編輯:啊,在鏈接代碼中有一個「功能」:在括號中引用的括號中的處理不正確。這種聯繫是:http://msdn.microsoft.com/en-us/library/bb286672(office.11).aspx
在Excel 2007中 是指定超過 三個條件,重新排序 條件,並有一個以上的 條件決心的能力改變 條件格式的其他好處真正。
否則。恐怕你被描述的那些雜亂的選擇所困住。
您可以使用VBA宏來做到這一點...
這裏是一個VBA宏,如果需要大量的病例,可能是更好的 http://chandoo.org/wp/2008/10/14/more-than-3-conditional-formats-in-excel/
你需要的方式來預格式化「N」細胞你想格式化你的整個範圍。然後使用該網址中的宏來獲得效果。
把它放在VBA項目的模塊中。然後,您可以在工作表中突出顯示一個範圍,然後從「工具」(Tools)>「宏」(Macro)>「宏」(Macro)菜單項中運行子工具,以在選定範圍內對每個單元格着色
Public Sub ColorCells()
Dim cell, rng As Range
Dim color As Integer
Dim sheet As Worksheet
Application.ScreenUpdating = False
Application.StatusBar = "Coloring Cells"
Set rng = Application.Selection
Set sheet = Application.ActiveSheet
For Each cell In rng.cells
Select Case Trim(LCase(cell))
Case "blue"
color = 5
Case "red"
color = 3
Case "yellow"
color = 6
Case "green"
color = 4
Case "purple"
color = 7
Case "orange"
color = 46
Case Else
color = 0
End Select
sheet.Range(cell.Address).Interior.ColorIndex = color
Next cell
Application.ScreenUpdating = True
Application.StatusBar = "Ready"
End Sub
如果用戶輸入新的顏色名稱到細胞中,那麼你可以把這個在VBA項目來着色細胞作爲用戶的表代碼正在進入顏色名稱進入細胞
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.cells.Count > 1 Then Exit Sub
Dim color As Integer
Select Case Trim(LCase(Target))
Case "blue"
color = 5
Case "red"
color = 3
Case "yellow"
color = 6
Case "green"
color = 4
Case "purple"
color = 7
Case "orange"
color = 46
Case Else
color = 0
End Select
Target.Interior.ColorIndex = color
End Sub
編輯:圍繞case語句表達式添加Trim函數來測試,以便忽略單元格中意外的前導/尾隨空格:)