''''''''''''''''''''''''''''''''string color changed
Public Sub FindAndFormatText(rng As Range, substr As String, txtColor As Long, boldFlag As Boolean)
Dim cell As Range
Dim startPos As Integer
Dim lenSubstr As Integer
lenSubstr = Len(substr)
For Each cell In rng
startPos = InStr(1, cell.Value, substr, vbTextCompare)
Do While startPos > 0
With cell.Characters(Start:=startPos, Length:=lenSubstr).Font
.ColorIndex = txtColor
.Bold = boldFlag ' 使用 boldFlag 来设置加粗'
End With
startPos = InStr(startPos + lenSubstr, cell.Value, substr, vbTextCompare)
Loop
Next cell
End Sub
Sub TestFindAndFormatText()
Dim searchRange As Range
Dim cc As String
Set searchRange = ThisWorkbook.Sheets("拲暥怽惪").Range("I1:I10000")
cc = "AS IS:"
'set font
'1=black,2=white,4=green,5=blue,6=yellow,7=pink,8=white green,9=old red,10=green
FindAndFormatText searchRange, cc, 10, True
End Sub
VBA实现excel单元格指定内容变色
于 2024-03-27 12:21:40 首次发布