您可以拥有在更改单元格时触发的 VBA 代码。
但是,将单元格设置为具有不同颜色的格式不会触发更改事件,因此仅更改单元格填充不会触发任何宏。
您可以在单元格中输入数字或文本,而不是使用填充颜色格式化单元格。您可以使用条件格式来更改具有值的单元格的颜色。
在单元格中输入文本或数字将触发更改事件,该事件可以轻松更改其他单元格的填充颜色。
因此,如果单元格包含一个值,例如 1,则设置条件格式。如果它是 1,则将其设置为蓝色并填充蓝色背景。这样,号码将不可见。
然后使用这个宏(右击Sheet选项卡,点击“查看代码”,将代码粘贴到代码窗口中)
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