人才网
设为首页加入收藏诚征代理商 
128人才网-提供最新的人才信息,招聘信息和人才市场信息
126邮箱


EXCEL VBA中字符串查找并改变颜色

   A、B、C、D四列1-10行都放有字串,想达到这样的目的: 把B、C、D三列分别与A列同行的字串相比较,如果含有A列字串的某个字符,就把这个字符变成红色,(A列不变), 例如:第一行的四个字串分别是"019","484","3579","0126", C列的"3579"中含有A列"019"中的"9",就把"3579"中的"9"变成红色,同样D列中的"0126"中的"0"也变成红色。B列的"484"与A列的"019"没有相同字符,就什么都不做。如何用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 三列的数据, 一定要是文本,如是数字, 只会判断第一个字符, 如 TRUE, 便会将整个数字都变红,因数字格式是无法将部分变成不同颜色的。

人才网 http://job128.com 信息部