如何使用公式为Excel中的单元格着色?

时间:2015-02-02 12:20:34

标签: excel formula

我想做类似的事情:

=iif(A1>10,backcolor = black,backcolor = green)

我想要一个不是巫师的公式。

2 个答案:

答案 0 :(得分:3)

您应该使用条件格式,而不是使用公式。 选择相应的列,然后转到主页 - >条件格式 - >突出显示单元格规则。之后,您可以定义条件以及单元格应该变成哪种颜色。

有关更详细的说明,请访问以下链接。 https://support.office.com/en-us/article/Use-a-formula-to-apply-conditional-formatting-fed60dfa-1d3f-4e13-9ecb-f1951ff89d7f?ui=en-US&rs=en-US&ad=US

修改

据我所知,使用公式无法改变细胞的颜色。如果有人知道该怎么做,请发帖!同时,这是一个关于如何使用VBA将颜色更改为绿色的小程序。

Private Sub changecolor()
Dim i As Long: i = 1
 Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
    End With
Do Until i = LastRow
    With Range("A" & i)
        If .Value > 10 Then
            Cells(i, 1).Interior.ColorIndex = 10
        End If
    End With
i = i + 1
Loop
End Sub

注意: 此公式每100k行需要大约3~6秒,这可能会相当慢,具体取决于应用程序。运行一个小测试后,我发现以下运行时:

164269ms for 1000000 records with 45,4% coloured : ~16.4s/100k records
349193ms for 1000000 records with 100% coloured : ~34.9s/100k records
9016ms for 1000000 records with 0% coloured : ~0.9s/100k records

似乎使用Cells(i, 1).Interior.ColorIndex以高达34s / 100k的记录来增加时间!如果有人知道更好的方式,请随时启发我们!

答案 1 :(得分:0)

您可以将公式与事件宏结合使用。选择一个单元格,说 B2 并输入公式:

=IF(A1>10,"black","green")

然后格式化 B2 自定义 ;;;
这将隐藏显示的文本。
然后将以下事件宏放在工作表代码区域中:

Private Sub Worksheet_Calculate()
Application.EnableEvents = False
    With Range("B2")
        If .Value = "green" Then
            .Interior.Color = RGB(0, 255, 0)
        Else
            .Interior.Color = RGB(0, 0, 0)
        End If
    End With
Application.EnableEvents = True
End Sub

每次重新计算工作表时,宏都会运行。它将在 B2 即使文本不可见)中对文本进行检验,并相应地调整背景颜色。

因为它是工作表代码,所以很容易安装和自动使用:

  1. 右键单击Excel窗口底部附近的选项卡名称
  2. 选择查看代码 - 这会打开一个VBE窗口
  3. 粘贴内容并关闭VBE窗口
  4. 如果您有任何疑虑,请先在试用工作表上试用。

    如果保存工作簿,宏将随之保存。 如果您在2003年之后使用的是Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

    删除宏:

    1. 按上述方式调出VBE窗口
    2. 清除代码
    3. 关闭VBE窗口
    4. 要了解有关宏的更多信息,请参阅:

      http://www.mvps.org/dmcritchie/excel/getstarted.htm

      http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

      要了解有关事件宏(工作表代码)的更多信息,请参阅:

      http://www.mvps.org/dmcritchie/excel/event.htm

      必须启用宏才能使其生效!