excel - 根据另一个单元格中的值更改单元格中的字体颜色
问题描述
我想根据另一个单元格中的值更改单元格中某些文本的颜色。我曾尝试使用条件格式,但它不起作用,因为我只想更改单元格中特定单词的颜色。我也搜索了一些 VBA 代码,但仍然找不到合适的代码。是否有任何 VBA 代码可以启用此功能?
如下例所示(见图),我只想突出显示 B 列和 C 列中与 G 列中的日期匹配的日期。日期应该保持不变。
作为信息,B 列和 C 列中的值被格式化为文本,G 中的值被格式化为日期。
前
这基本上是我所希望的。
后
解决方案
我已根据您在评论中的要求适当地修改了代码。
Sub Change_Text_Color()
Dim Find_Text, Cell, Cell_in_Col_G, LastCell_inColG As Range
Dim StartChar, CharLen, LastUsedRow_inRange, LastUsedRow_inColB, _
LastUsedRow_inColC As Integer
LastUsedRow_inColB = Sheet1.Cells(Rows.count, "B").End(xlUp).Row
LastUsedRow_inColC = Sheet1.Cells(Rows.count, "C").End(xlUp).Row
LastUsedRow_inRange = Application.WorksheetFunction. _
Max(LastUsedRow_inColB, LastUsedRow_inColC)
Set LastCell_inColG = Sheet1.Cells(Rows.count, "G").End(xlUp)
For Each Cell In Range(Sheet1.Cells(2, 2), Cells(LastUsedRow_inRange, 3))
For Each Cell_in_Col_G In Range(Sheet1.Cells(2, 7), LastCell_inColG)
CharLen = Len(Cell_in_Col_G.Text)
Set Find_Text = Cell.Find(what:=Cell_in_Col_G.Text)
If Not Find_Text Is Nothing Then
StartChar = InStr(Cell.Value, Cell_in_Col_G.Text)
With Cell.Characters(StartChar, CharLen)
.Font.Color = RGB(0, 255, 0)
End With
End If
Next
Next
End Sub
请让我知道您对此的反馈。
推荐阅读
- sql - 如何以最简单的方式在 SQL Developer 中定义和使用 Oracle SQL Script 中的变量
- forms - 自定义数据原型所见即所得
- gradle - 如何让 gradle run 打印出堆栈跟踪的所有行?
- ruby-on-rails - 使用 capybara 测试将用户放入 table html 并期望 xpath
- javascript - 需要不同版本的包
- c# - 使用具有两个列表的对象的 XDocument 创建 XML
- python - Pandas:groupby value_count 按频率和子类别过滤
- python - 访问在类定义表达式中调用的函数内的类
- python - 手动安装 Python 库
- c# - AspxGridView 使用“显示更多/更少”按钮截断文本