Excel利用VBA比较同行字符串一例
发布网友
发布时间:2024-10-07 13:39
我来回答
共1个回答
热心网友
时间:2024-11-30 08:10
如图所示,在Excel工作表的A、B、C、D四列的1-10行都放有字符串,现在要把B、C、D三列中的字符串分别与A列同一行的字符串相比较,如果含有A列字串的某个字符,就把这个字符变成红色(A列不变)。例如第6行中分别有四个字符串“H1N1”、“h1n1”、“流感”、“甲型H1N1”,B6单元格中的“h1n1”与A6单元格中的“H1N1”都含有字符“1”,就将B6单元格中的字符“1”改为红色;C6单元格中的“流感”与A6单元格中的内容不同,就不变色;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 三列的数据, 一定要是文本,如果是是数字,则只会判断第一个字符。