|Where ever you see "Range("A" & rw)" it means that the code is referring to Column A.|
You could replicate the majority of the code 3 times to refer to Range("F" & rw)" then Range("G" & rw)" then Range("H" & rw)", or you could be a lot more elegant and use another syntax for referencing ranges.
Cells(rw, 1) will also reference Column A since Column A is Column 1.
Cells(rw, 6) would reference Column F, 7 would reference G, etc.
So, let's use that syntax and loop on both the Column and Row numbers:
For col = 6 To 8
For rw = 1 To 132
'Search for string within each cell
myStart = InStr(UCase(Cells(rw, col)), UCase("DQ(NT)"))
'If string is found, color it Blue
If myStart > 0 Then
Cells(rw, col).Characters(Start:=myStart, Length:=6).Font.ColorIndex = 5
BTW: The UCase method is only used so that the code won't care about the case of the string it is looking for. The code forces whatever is in the cell it is looking at to be Upper Case - within it's own "memory" - and then compares it to the Upper Case version of the string so that it will always match.
In other words, UCase("Dq(NT)"), UCase("dQ(NT)"), Ucase("dq(nt)) all look like "DQ(NT) to VBA.
If your string really is DQ(NT) in every cell (i.e. all uppercase in every cell) then you don't need the UCase method.
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.