长时间潜伏在这里,我终于难以尝试编写一些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
...但它不起作用,我收到运行时错误。这是非常令人沮丧的,因为我已经完成了大部分艰难的事情!
哦,在任何人建议条件格式化之前,子读取的数据每次都是新粘贴的,所以这不是没有。谢谢你的任何意见!
答案 0 :(得分:0)
在.Cells(i, 2)
之前尝试删除点vba不知道你指的是哪个单元格
更改Worksheets("Initial Data").Range(.Cells(i, 2), .Cells(i, 19)).Interior.ColorIndex = 2
至
Worksheets("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