前言
Excel表格中,为了突出某个字、字符串或数字,经常会改变指定字符或数字字体、颜色等。常用的方法是对一个单元格设置字体或颜色后,再手动用格式刷调整其他单元格的字体或颜色。
但如果只对单元格某一个字符或字符串改变字体、颜色等,格式刷已不适宜使用,那将如何能达到预期效果呢?
我们本期来了解一下Range.Characters属性。
一、运行效果
将下表中“弘文”颜色变为红色
VBA批量修改指定字符颜色
二、代码如下
Sub strColor()
Dim str As String
Dim rng As Range
Dim tmp As String
str = "弘文"
On Error Resume Next
Application.ScreenUpdating = False
For Each rng In Range("A1").CurrentRegion
For i = 1 To Len(rng.Value)
If VarType(rng.Value) <> vbString Then
rng.Value = "'" & CStr(rng.Value)
End If
If rng.Characters(i, Len(str)).Text = str Then
rng.Characters(i, Len(str)).Font.Color = vbRed
End If
Next
Next
End Sub