前回Excel VBAで、検索文字列を含むセルに対して
フォント色を変更を行いました。
今回は検索文字列のみに対してフォント色の変更を行います。
CharactersオブジェクトのFont.Colorに値を設定します。

サンプルではA1~A5セルの各セルに
まずInStr関数で検索を行います。
そして対象文字列が存在する場合は、
Charactersオブジェクトの第1引数に開始位置、
第2引数に対象文字列の長さを指定し、
そのFont.Colorプロパティに値(色定数)を設定し、
文字色を赤色に変更しています。
Sub 検索文字列を赤に()
Dim strWord As String '検索文字列
Dim intLen As Integer '検索文字列の長さ
Dim intLeft As Integer '検索文字列開始位置
strWord = "GANASYS"
intLen = Len(strWord)
For i = 1 To 5
'文字列が検索された場合の開始位置を取得
intLeft = InStr(Cells(i, 1).Value, strWord)
If intLeft <> 0 Then
'検索文字列を赤色にする。
Cells(i, 1).Characters(intLeft, intLen).Font.Color = vbRed
End If
Next
End Sub
結果は以下のようになります。
