如果使用宏进行更新,是否有可能更改单元格的背景颜色?
我正在使用VBA for循环来更新单元格的IF语句。
是否可以在for循环中/更新后更改背景颜色?
Dim cella As Range
For Each cella In Range("D15:AE15").Cells
If cella.Value = 0 And cella.Offset(17).Value = 2 Then
cella.Value = 1
cella.Offset(17).Value = 1
cella.Interior.ColorIndex = 3
End If
Next cella
我尝试在循环中使用内部颜色索引功能,但它似乎不起作用? (我只想为更新的细胞着色)
答案 0 :(得分:0)
在代码模块中插入Worksheet_change
,例如Sheet 1中
Private Sub Worksheet_Change(ByVal Target As Range)
<your code>
End sub
Target
是更改的范围(单元格)
答案 1 :(得分:0)
您正在寻找的是:
With cella.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
End With
但是,代码中存在一些语法错误。我根据我所看到的情况做了一些假设,但这完全是正确的:
For Each cella In Range("A1:B15")
If cella.Value = 0 And cella.Offset(17, 0).Value = 2 Then
cella.Value = 1
cella.Offset(17, 0).Value = 1 'offset syntax is (rows, columns)
With cella.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.Color = 255
End With
End If
Next cella