如果我在单元格 A8 中输入字母 TL,是否有办法将该单元格和该行中的其他多个单元格变为蓝色?是否有办法实现多种字母/颜色变化?
我有 8 个两个字母的组合,分别对应 8 种颜色。例如: TS=浅蓝色 TC=中蓝色 TL=深蓝色 DD=黑色 RS=浅绿色 RC=中绿色 RL=深绿色 LT=棕色 我想将其中一个字母组合输入 M8,让第 8 行的 B、C、E、F、K-AM 列变成相应的颜色。有什么办法吗?
答案1
如果我在单元格中输入字母 TLA8... 输入以下其中一个字母组合M8& 第 8 行有 B、C、E、F、K-AM 列...
您的叙述令人困惑。此代码适用于 M8。
调整工作表名称和 RGB 参数以获得您想要的颜色,然后运行此代码。
Option Explicit
Sub addCFRs()
Dim i As Long, rng As Range, arr1 As Variant, arr2 As Variant
arr1 = Array("TS", "TC", "TL", "DD", "RS", "RC", "RL", "LT")
arr2 = Array(RGB(0, 0, 255), RGB(0, 0, 128), RGB(0, 0, 64), RGB(0, 0, 0), _
RGB(0, 255, 0), RGB(0, 128, 0), RGB(0, 64, 0), RGB(0, 0, 0))
With Worksheets("sheet6")
Set rng = Intersect(.Range("B:C, E:F, K:AM"), .Range("8:8"))
With rng
.FormatConditions.Delete
For i = LBound(arr1) To UBound(arr1)
.FormatConditions.Add Type:=xlExpression, Formula1:="=$M8=" & Chr(34) & arr1(i) & Chr(34)
.FormatConditions(.FormatConditions.Count).Interior.Color = arr2(i)
Next i
End With
End With
End Sub
除了棕色之外,大多数 RGB 都与您想要的颜色很接近;我不知道哪种 RGB 构成了棕色。
答案2
这可以使用条件格式来完成。
每种颜色都需要一个单独的公式。
- 突出显示第 8 行中要更改颜色的单元格(您可以使用Ctrl+ 单击来选择单独的单元格)
- 转到“条件格式”并选择“新规则”
- 选择“使用公式确定要格式化的单元格”
- 在规则描述类型中
=$M8="TL"
- 点击“格式”,然后选择顶部的“填充”选项卡
- 选择正确的代码颜色
- 单击“确定”,然后再次单击“确定”。
第 8 行全部完成。
如果您希望它包含更多行,请转到“条件格式”并选择“管理规则”。
选择“应用于”框右侧的图标,然后突出显示您想要更改颜色的所有区域。同样,您可以使用它Ctrl来选择单独的区域。如果您愿意,您可以选择整个列,但这会降低工作表的速度。
设置完成后,您可以对其他颜色代码重复此过程,只需TL
在公式中用您想要使用的代码替换即可。