Excel利用VBA比较同行字符串一例

来源:互联网 时间:2016-01-03

如图所示,在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 三列的数据, 一定要是文本,如果是是数字,则只会判断第一个字符。

相关阅读:
Top