Excel 使用基于选定单元格的单元格中的值更改选定单元格的颜色
我有一个宏,可以根据RGB值为单元格着色。Excel 使用基于选定单元格的单元格中的值更改选定单元格的颜色,excel,vba,rgb,Excel,Vba,Rgb,我有一个宏,可以根据RGB值为单元格着色。 我有单元格A1、B1和C1用于RGB值 subfillwithrbg() 范围(“D1”).Interior.Color=RGB(范围(“A1”).值,范围(“B1”).值,范围(“C1”).值) 端接头 我可以选择工作表中的任何位置,运行宏,只有单元格D1会改变颜色 我想选择单元格D2,运行宏,单元格D2根据A2、B2和C2中的值更改颜色 我想我需要用一个引用设置活动单元格,然后1、2和3将从所选单元格偏移。 另外一个好处是,宏只能在D列中运行以防
我有单元格A1、B1和C1用于RGB值
subfillwithrbg()
范围(“D1”).Interior.Color=RGB(范围(“A1”).值,范围(“B1”).值,范围(“C1”).值)
端接头
我可以选择工作表中的任何位置,运行宏,只有单元格D1会改变颜色
我想选择单元格D2,运行宏,单元格D2根据A2、B2和C2中的值更改颜色
我想我需要用一个引用设置活动单元格,然后1、2和3将从所选单元格偏移。另外一个好处是,宏只能在D列中运行以防止错误。这是一种简单的方法
- 在代码
指的是当前工作表Me中。
- 您必须将此代码放入工作表的模块中
- 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