Conditionally-like formatting just a part of a cell
Hi Mac,
The following takes the contents of cell F1 and finds all occurrences of the
string in the specified range. There are 2 formatting lines of code. One
formats the found string to Bold and the other formats it to Red so you
finish up with Bold Red.
Sub FindAndFormat()
Dim rngToSearch As Range
Dim rngToFind As Range
Dim strToFind As String
Dim strFirstAddr As String
Dim intFirstChr As Integer
Dim intLenStr As Integer
strToFind = Sheets("Sheet1").Range("F1")
intLenStr = Len(strToFind)
With Sheets("Sheet1")
Set rngToSearch = .Range("A1:E10")
End With
With rngToSearch
Set rngToFind = .Find(What:="eel", _
LookIn:=xlFormulas, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
If Not rngToFind Is Nothing Then
strFirstAddr = rngToFind.Address
Do
rngToFind.Characters _
(InStr(1, rngToFind.Value, strToFind), intLenStr) _
.Font.Bold = True
rngToFind.Characters _
(InStr(1, rngToFind.Value, strToFind), intLenStr) _
.Font.Color = vbRed
Set rngToFind = .FindNext(rngToFind)
Loop While Not rngToFind Is Nothing _
And rngToFind.Address < strFirstAddr
End If
End With
End Sub
--
Regards,
OssieMac
|