エクセルマクロで、セルの背景色を置換するVBAコードをご紹介します。
このページのマクロコードは、コピペで使えます。
せひ、お試しください。
セルの色を置換する(Select Case使用)
以下のマクロを実行すると、セルの背景色を置換します。
Sub セルの背景色を変更()
Dim MyRange As Range
'指定範囲
For Each MyRange In Range("A2:F21")
Select Case MyRange.Interior.Color
'イエローだったらグリーンに色を変換
Case 65535
MyRange.Interior.Color = 5287936
'オレンジだったらイエローに色を変換
Case 49407
MyRange.Interior.Color = 65535
End Select
Next
End Sub
マクロ実行後
Select Case を使用して、セルの塗りつぶしの色を変更しました。
セルの色を置換する(ReplaceFormat使用)
以下のマクロを実行すると、セルの背景色を置換します。
Sub セルの色を変換()
'置換前の色(黄色)
Application.FindFormat.Interior.Color = 65535
'置換後の色(青色)
Application.ReplaceFormat.Interior.Color = 15773696
'置換実行
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(65535, 49407)
'置換後の色を配列に入れる
AfterColor = Array(5287936, 65535)
'配列をループ
For Q = 0 To UBound(BeforeColor)
'置換前の色を設定
Application.FindFormat.Interior.Color = Int(BeforeColor(Q))
'置換後の色を設定
Application.ReplaceFormat.Interior.Color = Int(AfterColor(Q))
'セルの塗りつぶしの色を置換実行
Cells.Replace What:="", Replacement:="", LookAt:=xlPart, SearchOrder:= _
xlByRows, MatchCase:=False, SearchFormat:=True, ReplaceFormat:=True
Next Q
End Sub
マクロ実行後
配列を使用して、置換前と置換後の色を指定しました。
複数のセルの色を一括置換することができます。
この記事がお役に立ちますと幸いです。

【エクセルマクロ】セルの塗りつぶしを解除する:コピペで使えるコード
...