VBA Excel以突出显示另一个工作表上的范围

时间:2015-08-24 09:27:45

标签: excel vba excel-vba range worksheet

长时间潜伏在这里,我终于难以尝试编写一些VBA来突出显示另一个工作表上的B到S列,对于在另一个工作表上S列中的值大于H10的所有行。这段代码工作正常:

Dim i As Long
For i = 2 To Rows.Count
If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then
Worksheets("Initial Data").Cells(i, 19).Interior.ColorIndex = 4
End If
Next i
Worksheets("Initial Data").Activate

这将突出显示S列中所需的每个单元格。我想要做的是突出显示从B到S的单元格,如下所示:

Dim i As Long
For i = 2 To Rows.Count
If Worksheets("Initial Data").Cells(i, 19).Value > Worksheets("Inputs").Range("H10").Value Then
Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 2
End If
Next i
Worksheets("Initial Data").Activate

...但它不起作用,我收到运行时错误。这是非常令人沮丧的,因为我已经完成了大部分艰难的事情!

哦,在任何人建议条件格式化之前,子读取的数据每次都是新粘贴的,所以这不是没有。谢谢你的任何意见!

1 个答案:

答案 0 :(得分:0)

.Cells(i, 2)之前尝试删除点vba不知道你指的是哪个单元格

更改Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 2Worksheets("Initial Data").Range(Cells(i, 2), Cells(i, 19)).Interior.ColorIndex = 2

或使用With - > msdn

With Worksheets("Initial Data")
    .Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 4
End With