こんばんは。
マクロでしたら、イベントドリブン型でよいと思います。
シート・マクロの取り付け方:
マクロを実行しようとするワークシートのシートタブ(下部のSheet1,Sheet2 ...)を右クリックすると、「コードの表示(V)」というメニューがありますから、それをクリックしてください。そして、開いた画面に、以下のコードを貼り付けて、Alt + Q で閉じれば設定は完了です。
A1 に入力して試してみてください。
-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Fadd As String
Dim c As Range
Dim SetRng As Range
Set SetRng = Range("H5:O104") '検索範囲
'A1 に代入すると、色を換える
If Target.Address <> "$A$1" Then Exit Sub
Set c = SetRng.Find( _
What:=Target.Value, _
LookIn:=xlValues, _
LookAt:=xlWhole, _
MatchCase:=False, _
MatchByte:=False)
If Not c Is Nothing Then
Fadd = c.Address
Do
c.Interior.ColorIndex = 3 '色番号
Set c = SetRng.FindNext(c)
If c.Address = Fadd Then Exit Sub
Loop Until c Is Nothing
End If
Set SetRng = Nothing
End Sub
---------------------------------------------------
'色番号(ColorIndex)
'黒(1),白(2),赤(3),黄緑(4),青(5),黄色(6),ピンク(7),
'水色 (8), 茶(9), 緑(10), 藍(11), 黄土色(12), 紫(13), 濃緑(14)
'灰色 (15), 濃い灰色(16),淡い水色(34),黄緑 (35),薄い黄色(36)
'ゴールド(44),ローズ(38),オレンジ(46)
なお、塗りつぶしの場合は、一般的には、パステルカラーのほうがよいです。
お礼
出来ました! まさかこんな短いスクリプトで実現できるとはビックリしました。 ありがとうございます。