|
128人才网-提供最新的人才信息,招聘信息和人才市场信息 |
|
|
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 信息部 |