【发布时间】:2022-04-23 05:04:19
【问题描述】:
抱歉,我是 MS Excel 的新手。
如果单元格 G1 为绿色,我想将单元格 A1 颜色设置为红色
同时
如果单元格 F1 不为空,我想将单元格 A1 颜色设置为黄色
如果有两条规则为真,则优先级应为第二条。如果没有规则为真,则不应对单元格进行任何操作。
怎么做?
【问题讨论】:
标签: excel
抱歉,我是 MS Excel 的新手。
如果单元格 G1 为绿色,我想将单元格 A1 颜色设置为红色
同时
如果单元格 F1 不为空,我想将单元格 A1 颜色设置为黄色
如果有两条规则为真,则优先级应为第二条。如果没有规则为真,则不应对单元格进行任何操作。
怎么做?
【问题讨论】:
标签: excel
您熟悉 VBA 吗?您可以使用下面的代码。如果您不熟悉 VBA,请使用条件格式选项。
条件格式:
VBA: 您可以使用
激活单元格 Range("A1")
每个单元格都有几个参数,例如颜色或值,您可以读取和编辑这些参数。
Range("A1").Value 'Value
Range("A1").Interior.ColorIndex 'Color of cells
满足您要求的代码可能如下所示
If Range("G1").Interior.ColorIndex = 4 then '4 = color code for green
Range("A1").Interior.ColorIndex = 3 '3 = color code for red
End If
If (Range("F1").Value = 0 Then
Range("A1").Interior.Colorindex = 6 '6 = color code for yellow
End If
您可以在这里找到颜色代码:Microsoft Docs Color Codes
【讨论】:
您需要使用 VBA 代码来触发第一条规则,因为条件格式不会影响其他单元格的颜色。 新手指南:
If ThisWorksheet.Range("F1").Value <> "" Then
ThisWorksheet.Range("A1").Interior.Color = vbYellow
ElseIf ThisWorksheet.Range("G1").Interior.Colour = vbGreen Then
ThisWorksheet.Range("A1").Interior.Colour = vbRed
End If
请记住,它正在检查 G1 是否为 vbGreen - Excel 非常严格,这不会触发任何绿色阴影。测试它,看看它是否有效。
【讨论】: