如果我在单元格 A8 中输入字母 TL,有没有办法将该单元格和该行中的多个其他单元格变成蓝色?

如果我在单元格 A8 中输入字母 TL,有没有办法将该单元格和该行中的多个其他单元格变成蓝色?

如果我在单元格 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在公式中用您想要使用的代码替换即可。

相关内容