【发布时间】:2011-05-21 04:19:16
【问题描述】:
每次 A 列中的值发生变化时,我都使用以下 VBA 代码更改电子表格中行的颜色(以便 A 列中具有相同值的所有条目将按颜色分组。电子表格已排序已经按 A 列,所以项目已经分组,我只需要它们着色)。
无论如何,当我运行这个宏时,行是红色和绿色的(为此目的,这是非常明亮和压倒性的颜色)。我需要一些更微妙的东西..
我该如何更改?或者我可以在我的 VBA 代码中指定它通过 rgb 或颜色索引使用某些颜色吗? {我使用的是 Excel 2007}
Sub colorize()
Dim r As Long, val As Long, c As Long
r = 1
val = ActiveSheet.Cells(r, 1).Value
c = 4
For r = 1 To ActiveSheet.Rows.Count
If IsEmpty(ActiveSheet.Cells(r, 1).Value) Then
Exit For
End If
If ActiveSheet.Cells(r, 1).Value <> val Then
If c = 3 Then
c = 4
Else
c = 3
End If
End If
ActiveSheet.Rows(r).Select
With Selection.Interior
.ColorIndex = c
.Pattern = xlSolid
End With
val = ActiveSheet.Cells(r, 1).Value
Next
End Sub
【问题讨论】:
标签: vba excel background-color