【问题标题】:How to change individual cell text colour when values are entered/changed输入/更改值时如何更改单个单元格文本的颜色
【发布时间】:2014-12-20 00:50:56
【问题描述】:
我想让单元格在输入数字时更改文本颜色,但列中的现有数字需要保持相同颜色,除非我更改它们。
在图像中,您可以看到我有预先填充了文本的行和列。每当进行更改时,我希望文本字体颜色(仅限 A 列)从黑色变为红色。
例如如果我想将数字 02 更改为另一个数字,一旦输入新数字,新数字会自动将文本颜色更改为红色,但其下方的数字 03、04、05、06 将保持黑色,直到我更改它们 - 如有必要.
我尝试了条件格式,但是当输入文本时所有单元格都变为红色(包括已经存在的单元格...)
http://postimg.org/image/doqokmd6x/
【问题讨论】:
标签:
excel
vba
excel-formula
conditional-formatting
worksheet-function
【解决方案2】:
这应该可以满足您的要求。
Public strOldValue As String
Public Sub Worksheet_SelectionChange(ByVal Target As Range)
'Assign previous value to a variable
strOldValue = Target.Value
End Sub
Public Sub Worksheet_Change(ByVal Target As Range)
Dim strNewValue As String
'Check for first Column
If Target.Column = 1 Then
'Assign New Value
strNewValue = Target.Value
'Compare Old value and New Value
If Trim(strOldValue) <> strNewValue Then
Target.Interior.Color = vbRed
End If
End If
End Sub
【解决方案3】:
自己对上述 VBA 进行了一些更改,这就是我想要的:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Font.ColorIndex = 3
If Target.Column = 1 Then
Target.Interior.ColorIndex = 2
End If
End Sub