Excel 文本颜色取决于值



我在 Excel 2016 中有一个时间表。

如果我在单元格 d2 中键入"o",我希望文本"off"显示为红色。 如果我在同一销售中输入"t",我希望显示文本"培训",但为绿色。等等。

我想我可以使用用户定义的格式 - 但我不知道如何。

请指教。

Med venlig hilsen

彼得

将以下事件宏放在工作表代码区域中:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim D3 As Range
Set D3 = Range("D3")
If Intersect(Target, D3) Is Nothing Then Exit Sub
If Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
With D3
If .Value = "o" Then
.Value = "off"
.Font.Color = 255
ElseIf .Value = "t" Then
.Value = "training"
.Font.Color = 5287936
End If
End With
Application.EnableEvents = True
End Sub

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

  1. 右键单击 Excel 窗口底部附近的选项卡名称
  2. 选择查看代码 - 这将打开一个 VBE 窗口
  3. 粘贴内容并关闭 VBE 窗口

如果您有任何疑问,请先在试用工作表上尝试。

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

删除宏:

  1. 调出上面的 VBE 窗口
  2. 清除代码
  3. 关闭 VBE 窗口

若要了解有关宏的一般信息,请参阅:

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

必须启用宏才能正常工作!

最新更新