セルが変更されたときにトリガーされる VBA コードを使用できます。
ただし、セルを別の色にフォーマットしても変更イベントはトリガーされないため、セルの塗りつぶしを変更しただけではマクロは起動されません。
塗りつぶしの色でセルを書式設定する代わりに、数値またはテキストをセルに入力できます。値でセルの色を変更する条件付き書式を使用できます。
セルにテキストまたは数値を入力すると、変更イベントがトリガーされ、そのイベントによって他のセルの塗りつぶしの色が簡単に変更されます。
したがって、セルに 1 などの値が含まれている場合は、条件付き書式を設定します。1 の場合は、青色の背景色で書式設定します。この方法では、番号は表示されません。
次に、このマクロを使用します ([シート] タブを右クリックし、[コードの表示] をクリックして、コード ウィンドウにコードを貼り付けます)。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D3:AH564")) Is Nothing Then
If Target = 1 Then
Target.Offset(0, 14).Interior.Color = RGB(146, 208, 80)
Target.Offset(0, 28).Interior.Color = RGB(0, 112, 192)
Target.Offset(0, 42).Interior.Color = RGB(146, 208, 80)
End If
End If
End Sub
トリガー セルを範囲全体に配置できるか、列 D だけに配置できるかは明確ではありません。マクロは、定義した内容に対応するように調整できます。
編集:
値をコピーして複数のセルに貼り付ける場合は、次のことを試してください。
オプション明示
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range
If Not Intersect(Target, Range("D3:AH564")) Is Nothing Then
If Target.Rows.Count > 0 Then
For Each cel In Target
If cel = 1 Then
cel.Offset(0, 14).Interior.Color = RGB(146, 208, 80)
cel.Offset(0, 28).Interior.Color = RGB(0, 112, 192)
cel.Offset(0, 42).Interior.Color = RGB(146, 208, 80)
End If
Next cel
End If
End If
End Sub