按照我之前的问题: Background Color based on difference with cell 。我现在想将此函数应用于一系列行。
我想申请的功能是:
If Sheets("X").Range("E18") > Sheets("blocked(R)").Range("D18") Then
Sheets("X").Range("E18").Interior.ColorIndex = 10
我需要应用此功能的范围是固定的:D18:E1200
。
但是,此范围内将有一个有效过滤器。
Autofill
代码当然不起作用,为1200行中的每一行编写一行代码都会很疯狂。
我一直在寻找和阅读,我认为它必须是这样的:
Dim rng As Range
Dim row As Range
Dim cell As Range
Set rng = Range("A1:C2")
For Each row In rng.Rows
For Each cell in row.Cells
'Do Something
Next cell
Next row
但我似乎没有让它发挥作用,我希望有些人指出社区的正确方向。
答案 0 :(得分:0)
Sub test()
Dim rngApply As Range
Set rngApply = Sheets("X").Range("D18:E1200")
Dim varIndex As Variant
For Each varIndex In rngApply
If varIndex.Value > Sheets("blocked(R)").Range("D18") Then
varIndex.Interior.ColorIndex = 10
End If
Next
End Sub