【エクセルマクロ】文字色を置換する:使用例3選

ExcelVBA

エクセルマクロで、セルの文字色を置換するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
ぜひ、お試しください。
 

文字色を置換(Select Case使用)

以下のマクロを実行すると、セルの文字色を置換します。


Sub セルの文字色を変更()

    Dim MyRange As Range

    '指定範囲
    For Each MyRange In Range("A2:D10")
    
        'セルの文字色を判定
        Select Case MyRange.Font.Color

            '赤だったら青に変換
            Case 255
                MyRange.Font.Color = 12611584

            '緑だったらオレンジに変換
            Case 5287936
                 MyRange.Font.Color = 3243501

        End Select
    Next

End Sub

 

Select Case を使用して、セルの文字色を変更します。
・赤を青に置換
・緑をオレンジに置換


 
 

文字色を置換(ReplaceFormat使用)

以下のマクロを実行すると、セルの文字色を置換します。


Sub セルの文字色を変換()

    '置換前の色(赤色)
    Application.FindFormat.Font.Color = 255

    '置換後の色(青色)
    Application.ReplaceFormat.Font.Color = 12611584

    'シート全体 置換実行
    Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
        xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True

End Sub

 

ReplaceFormat を使用して、文字の色を置き換えます。
・レッドをブルーに置換


 
 

文字色を置換(配列使用)

以下のマクロを実行すると、配列を使用してセルの文字色を置換します。


Sub セルの文字色を変更()

Dim BeforeColor() As Variant
Dim AfterColor() As Variant
Dim Q As Long

    '置換前の色を配列に入れる
    BeforeColor = Array(255, 5287936)
    
    '置換後の色を配列に入れる
    AfterColor = Array(12611584, 3243501)
    
    '配列をループ
    For Q = 0 To UBound(BeforeColor)
        
          '置換前の色を設定
          Application.FindFormat.Font.Color = Int(BeforeColor(Q))
        
          '置換後の色を設定
          Application.ReplaceFormat.Font.Color = Int(AfterColor(Q))
        
          'シート全体のセルの文字色を置換実行
          Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
              xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
    
    Next Q

End Sub

 

配列を使用して、置換前と置換後の色を指定しました。
複数セルの色を一括置換することができます。

[BeforeColor = Array(255, 5287936)] で、置換前の色を指定
[AfterColor = Array(12611584, 3243501)] で、置換後の色を指定

[255] を [12611584] に置換(赤色を青色に置換)
[5287936] を [3243501] に置換(緑色をオレンジ色に置換)


 
 
この記事がお役に立ちますと幸いです。
 
・【エクセルマクロ】色付けを自動化する使用例まとめ
 

【エクセルマクロ】色付け処理を自動化する:超便利32選
エクセルマクロで、色付け処理を自動化するVBAコードをご紹介します。どのマクロコードも、コピペで使用できます。ぜひお試しください!

 

[最速入門] ChatGPTに任せる Excelマクロ&VBA 面倒なプログラミングは秒で片づけよう

ChatGPTと対話しながら身につける、新しいVBA入門

Excelマクロ・VBAをAIと一緒にラクに習得したいなら、まず読んでおきたい一冊です!


★★★★★ 4.6 ※ Amazonカスタマーレビューより
マクロ記録とChatGPTを組み合わせた学習法が実践的で、すぐ現場で使える
「過不足のない指示」の出し方を学べ、AIとの対話スキルが身につく
変数・条件分岐・ループなどVBAの基礎もしっかり解説されている