在 exel 中对 if() 条件进行着色

在 exel 中对 if() 条件进行着色

大家好,

在 excel 文件的单元格中,假设我想输入以下公式

如果 (a1>a2,"测试1","测试2")

我想要实现的是让test1和test2的字体具有不同的颜色。

一种方法是使用条件格式并应用不同的规则。但是,我想知道是否有另一种更直接的方法,即直接在if()公式中指定字体颜色或使用VBA

提前致谢

答案1

使用 VBA 是可能的。我假设你的公式在单元格 B1 中

在 Excel 工作表中,按ALT+F11访问 VBA 编辑器。

在左侧窗格中选择您的工作表。在右侧代码窗口中,选择工作表从下拉菜单中选择改变事件。

其中应有以下子程序的占位符。

Private Sub Worksheet_Change(ByVal Target As Range)

End Sub

将以下代码放入相同位置。

If Target.Address = "$A$1" Or Target.Address = "$A$2" Then
  If Range("B1").Formula = "=IF(A1>A2,""test1"",""test2"")" Then

        If Range("A1").Value > Range("A2").Value Then
            Range("B1").Font.Color = vbRed
        Else
            Range("B1").Font.Color = vbGreen
        End If

  End If
End If

在上面的例子中,我使用了标准 vbRed 和 vbGreen。请根据您的选择进行选择。

在此处输入图片描述

相关内容