【发布时间】:2016-07-07 21:54:39
【问题描述】:
我想根据多个条件和单元格的选择在一系列单元格中填充颜色。这是代码
Sub color()
Dim j As Integer
Dim testfallname As String
Dim rng As Range
Dim rCell As Range
Dim UnionRange As Range
Dim wb As Workbook
Dim ws As Worksheet
Set wb = ThisWorkbook
Set ws = wb.Sheets("1-BR_Vorschlag")
ws.Activate
For j = 7 To 1000
If ws.Cells(1, j) = "ARB11" Or ws.Cells(1, j) = "FVB1" Or ws.Cells(1, j) = "FVB4E" Then
testfallname = Cells(5, j)
Set rng = ws.Range("G5:AQ5").Find(testfallname)
End If
Set UnionRange = Union(ws.Range(Cells(34, rng.Column), ws.Range(Cells(39, rng.Column), ws.Range(Cells(49, rng.Column), Cells(50, rng.Column), ws.Range(Cells(53, rng.Column), Cells(54, rng.Column), ws.Range(Cells(59, rng.Column), Cells(61, rng.Column), ws.Range(Cells(66, rng.Column), Cells(77, rng.Column), ws.Range(Cells(85, rng.Column), Cells(97, rng.Column)))))))))
With ws
For Each rCell In UnionRange
If rCell.Value = vbNullString Then
rCell.Interior.color = 8421504
End If
Next rCell
End With
Next j
这是实际代码。现在我再次收到一个错误,说错误数量的争论或无效的属性分配。它调试联合范围线。我哪里错了?
【问题讨论】:
-
附带说明,您不需要
With,您应该使用条件格式根据值对单元格着色。 -
哪一行给出了错误?而且我很确定你必须使用
ColorIndex而不是Color。 -
我在 Set UnionRange = Sheets("1-BR_Vorschlag").Union(Range(Cells(34, 7)), Range(Cells(39, 7))) 行得到错误。我已经在具有相同工作表名称的新工作簿中的空白工作表上进行了尝试。它给了我同样的错误。