如圖所示,在Excel工作表的A、B、C、D四列的1-10行都放有字符串,現(xiàn)在要把B、C、D三列中的字符串分別與A列同一行的字符串相比較,如果含有A列字串的某個字符,就把這個字符變成紅色(A列不變)。例如第6行中分別有四個字符串“H1N1”、“h1n1”、“流感”、“甲型H1N1”,B6單元格中的“h1n1”與A6單元格中的“H1N1”都含有字符“1”,就將B6單元格中的字符“1”改為紅色;C6單元格中的“流感”與A6單元格中的內(nèi)容不同,就不變色;D6單元格中的字符串“甲型H1N1”包含A6單元格中的“H1N1”,也將其中的“H1N1”變成紅色。
下面是VBA代碼:
Sub colorX()
For r = 1 To 10
lenr = Len(Cells(r, 1))
For c = 2 To 4
lenc = Len(Cells(r, c))
For i = 1 To lenr
For j = 1 To lenc
If Mid(Cells(r, c), j, 1) = Mid(Cells(r, 1), i, 1) Then
Cells(r, c).Characters(Start:=j, Length:=1).Font.ColorIndex = 3
End If
Next
Next
Next
Next
End Sub
說明: B, C, D 三列的數(shù)據(jù), 一定要是文本,如果是是數(shù)字,則只會判斷第一個字符。