Close

検索文字列のフォント色を変える

前回Excel VBAで、検索文字列を含むセルに対して
フォント色を変更を行いました。

今回は検索文字列のみに対してフォント色の変更を行います。
CharactersオブジェクトのFont.Colorに値を設定します。
e_0047

サンプルでは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

結果は以下のようになります。
e_0049

 

Share on facebook
Share on twitter
Share on linkedin