使用基于所选单元格的单元格中的值更改所选单元格的颜色
Change colour of selected cell using values in cells based off the selected cell
我有一个宏可以根据 RGB 值为单元格着色。
我有用于 RGB 值的单元格 A1、B1 和 C1。
Sub FillWithRBG()
Range("D1").Interior.Color = RGB(Range("A1").Value, Range("B1").Value, Range("C1").Value)
End Sub
我可以 select 工作表中的任何位置,运行 宏和只有单元格 D1 会改变颜色。
我想要 select 单元格 D2,运行 宏和单元格 D2 根据 A2、B2 和 C2 中的值更改颜色。
我想我需要用引用设置活动单元格,然后 1、2 和 3 将从 selected 单元格偏移。
一个额外的好处是宏只能 运行 在 D 列中以防止错误。
这将是一个简单的方法
代码中Me.
指的是当前sheet
您必须将此代码放入 sheet 的模块
- VBA 中的列用数字标注(因此列 A 被称为第 1 列)
代码:
Private Sub Worksheet_Change(ByVal Target As Range)
' Prevent change if changed values are no in these columns (1,2,3) numbers are equivalent to A, B, C
If Target.Column > 3 Then Exit Sub
' Change color of D column (4 = D)
Me.Cells(Target.Row, 4).Interior.Color = RGB(Me.Cells(Target.Row, 1).Value, Me.Cells(Target.Row, 2).Value, Me.Cells(Target.Row, 3).Value)
End Sub
如果您希望它仅在一次更改一个单元格时起作用,请添加以下行:
' Prevent change when more than one cell is changed
If Target.Cells.Count > 1 Then Exit Sub
我有一个宏可以根据 RGB 值为单元格着色。
我有用于 RGB 值的单元格 A1、B1 和 C1。
Sub FillWithRBG()
Range("D1").Interior.Color = RGB(Range("A1").Value, Range("B1").Value, Range("C1").Value)
End Sub
我可以 select 工作表中的任何位置,运行 宏和只有单元格 D1 会改变颜色。
我想要 select 单元格 D2,运行 宏和单元格 D2 根据 A2、B2 和 C2 中的值更改颜色。
我想我需要用引用设置活动单元格,然后 1、2 和 3 将从 selected 单元格偏移。
一个额外的好处是宏只能 运行 在 D 列中以防止错误。
这将是一个简单的方法
代码中
Me.
指的是当前sheet您必须将此代码放入 sheet 的模块
- VBA 中的列用数字标注(因此列 A 被称为第 1 列)
代码:
Private Sub Worksheet_Change(ByVal Target As Range)
' Prevent change if changed values are no in these columns (1,2,3) numbers are equivalent to A, B, C
If Target.Column > 3 Then Exit Sub
' Change color of D column (4 = D)
Me.Cells(Target.Row, 4).Interior.Color = RGB(Me.Cells(Target.Row, 1).Value, Me.Cells(Target.Row, 2).Value, Me.Cells(Target.Row, 3).Value)
End Sub
如果您希望它仅在一次更改一个单元格时起作用,请添加以下行:
' Prevent change when more than one cell is changed If Target.Cells.Count > 1 Then Exit Sub