エクセルマクロで、セルの文字色を置換する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選
...
「たった1秒で仕事が片づくExcel自動化の教科書【増強完全版】」
「5時間かかる作業が3時間でできます」ではなく「1秒で終わらせます」へ
毎日の業務を瞬時に終わらせるしくみを解説
リンク