前回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
結果は以下のようになります。