
例えば
シート上の文字列「要注意」のみに対し…


VBAでフォントを
 ・赤くしたり
 ・太字にしたり
できます!

VBAコード
ここでは例として、
 ・指定したシート(例:sample)上の
 ・指定した文字列(例:要注意)を
 ・太字及び指定した色(例:赤)へ
変更します。

Option Explicit
Sub main()
    
    '文字列のフォントを変更する処理を実行
    Call changeStrFont("sample", "要注意", XlRgbColor.rgbRed)
End Sub
'----------------------------------------------------------------------
'文字列のフォントを変更する処理
'引数「sheetName」:シート名
'引数「targetStr」:フォントを変更したい文字列
'引数「color」  :色
'----------------------------------------------------------------------
Sub changeStrFont(sheetName As String, targetStr As String, color As Long)
    Dim targetStrLen As Integer   '「フォントを変更したい文字列」の文字数
    Dim r As Range
    Dim index As Double           '開始位置
    Dim fontObj As Font           '文字列のFontオブジェクト
    
    '文字列の文字数を取得
    targetStrLen = Len(targetStr)
    
    '使用されているセル範囲のセルの数分繰り返す
    For Each r In Worksheets(sheetName).UsedRange
    
        '開始位置を1に初期化
        index = 1
        
        Do
            '文字列の開始位置を取得
            index = InStr(index, r.Value, targetStr)
            
            '文字列の開始位置が0かどうか(=存在するかどうか)を確認
            If (index <> 0) Then
                '文字列のFontオブジェクトを取得
                Set fontObj = r.Characters(index, targetStrLen).Font
                '文字列のフォントを変更
                With fontObj
                    .color = color '色を変更
                    .Bold = True   '太くする
                End With
                '同じセル内に他にも文字列が存在するか確認するために、開始位置をずらす
                index = index + targetStrLen
            Else
                '次のセルへ進む(Doループを抜けてFor Eachループを進める)
                Exit Do
            End If
        Loop
        
    Next
    
    '後片付け
    Set fontObj = Nothing
End Sub実行結果
指定した文字列のフォントを変更できました。

参考①
上記で使用した以下の詳細は、公式サイトをご確認ください。
●「Worksheets(XXX).UsedRange」
●「Range(XXX).Characters(XXX,XXX)」
参考②
上記のVBAコードでは、色の指定に列挙体「XlRgbColor」を使用しています。
列挙体「XlRgbColor」の詳細は、以下の記事をご確認ください。
参考③
列挙体そのものについては、以下の記事をご確認ください。

 
  
  
  
  

