工作过程中遇到需要Excel VBA 检索指定字符串自动标色,临时在网上参考学习了点VBA,写了下方这个方法,使用感觉良好拿出来分享,可直接复制使用。
'加入带引号的检索对象
Sub EXCEL_STR_CHANGECOLOUR()
Dim rng As Range, i As Integer
Dim C As Integer
’当检索对象带特殊符号时,单独处理
' 特殊符号 ,如 Chr(34)为双引号,Chr(13) 回车,Chr(10) 换行
Dim credit_tag As String
credit_tag = "credit_tag=" + Chr(34) + "RZ" + Chr(34)
'T是要批量替换颜色的目标文字
Dim T
For Each rng In Selection
T = Array(credit_tag, "security_id=", "side=", "price=", "order_qty=", "ord_status=", "ord_rej_reason=")
'C是颜色,通过设定不同的值,代表对应的颜色
'3代表红色,1代表黑色,2代表白色,4代表鲜绿色,5代表蓝色,6代表黄色,7代表粉红色,8代表青绿色,9代表深红色,10代表绿色等
C = 3
For Each tt In T
i = 1
Do While InStr(i, rng, tt) > 0
rng.Characters(InStr(i, rng, tt), Len(tt)).Font.ColorIndex = C
i = InStr(i, rng, tt) + 1
Loop
Next
Next
End Sub