excel vba 单元格内部关键字突出显示改变颜色

alt+f11 在工作簿中添加代码如下,运行子过程,随便输入个名字比如A,然后关掉即可
如何运行:选中一个区域自动就会运行,Worksheet_SelectionChange这个函数名字是特殊关键词,是一个选中区域改变的回调函数,跟下图的触发方式有关

点击查看代码
Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng As Range, i As Integer, s As Integer '循环变量i s都要定义
Dim Strs As Variant   '关键字数组
Dim Colors As Variant   '对应颜色数组
Strs = Array("中国","你好")
Colors = Array(5, 5, 5, 5, 5)
'3代表红色,1代表黑色,2代表白色,4代表鲜绿色,5代表蓝色,6代表黄色,7代表粉红色,8代表青绿色,9代表深红色,10代表绿色
Dim T As String
Dim C As Integer
For Each rng In Selection
    For s = 0 To UBound(Strs)
        T = Strs(s)   'T是要批量替换颜色的目标文字
        C = Colors(s)
        i = 1
        Do While InStr(i, rng, T) > 0
            rng.Characters(InStr(i, rng, T), Len(T)).Font.ColorIndex = C
            i = InStr(i, rng, T) + 1
        Loop '对应do while
    Next
Next
End Sub
posted @ 2022-05-27 15:09  ecnu_lxz  阅读(775)  评论(0)    收藏  举报