虽然您无法设置实际列表的样式,但您可以在选择完成后设置单元格的样式。这可能是可能的,Conditional Formatting
但我并没有真正接受,所以我只是使用了 VBA。
示例工作表
我的示例有一个Validation List
in Cell A1
,它从 range 中获取其列表B1:B3
。VBA 代码检测到单元格的任何更改,并使用带有 rangeA1
的 a 查找颜色。VLookup
B1:C3
该示例不适用于旧版本的 excel(2007+ 会很好),您只需更改Target.Interior
修改方式,因为旧版本不知道大部分内容是什么。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Color As String
If Target.Address = "$A$1" Then
Color = Application.WorksheetFunction.VLookup(Range("A1"), Range("B1:C3"), 2, False)
Select Case Color
Case "Red"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Case "Blue"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 12611584
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Case "Green"
With Target.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 5296274
.TintAndShade = 0
.PatternTintAndShade = 0
End With
End Select
End If
End Sub
您也可以(或相反)根据天气超出预算来更改列表项。
例如:Cakes
vs!!CAKES!!
它并不那么漂亮,但实现起来相当简单。