1. 程式人生 > 其它 >excel vba 單元格內部關鍵字突出顯示改變顏色

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