【发布时间】:2012-10-15 06:19:45
【问题描述】:
我正在尝试在 excel 宏中查找可以解决以下问题的代码。
如果第一列包含任何文本,则用某种颜色突出显示第一列单元格,直到下一个文本不会出现在同一列中。当任何文本出现在同一列中时,开始用不同的颜色为单元格着色。
我必须对我工作簿中的所有工作表重复此操作。 谢谢。
现在我正在使用这个宏来为空的单元格着色 但问题是遇到文本时颜色不会改变
Sub try()
Dim i As Integer
Dim j As Integer
Dim k As Integer
i = 200
j = 100
k = 5
Application.ScreenUpdating = False
With ActiveSheet.UsedRange
.AutoFilter Field:=1, Criteria1:=""
If WorksheetFunction.CountBlank(.Columns(1)) > 0 Then
.Columns(1).SpecialCells(xlCellTypeBlanks).Interior.Color = RGB(i, j, k)
Else
i = i - 50
j = j - 10
k = 255
End If
.AutoFilter
End With
Application.ScreenUpdating = True
End Sub
【问题讨论】:
-
为单元格的背景颜色着色,尝试 cells.interior.color = RGB(255,0,0) 'Red
-
请更清楚地解释您要达到的目标。您给出的示例只显示黄色 A、绿色 B 和蓝色 C。这是什么意思?尝试一些东西,然后就任何具体问题与我们联系。投票结束。
-
正如我之前所说,我必须为行着色,直到遇到文本,然后更改颜色
-
"如果第一列包含任何文本,则用某种颜色突出显示第一列单元格,直到下一个文本不会出现在同一列中。" -> 这就是它令人困惑且没有意义的原因。
-
如果第一列包含文本,则继续突出显示该列的单元格。如果再次在同一列中出现文本,请按照相同的程序使用不同的颜色。它只关注一列