我有一个VBA代码,它遍历一个范围,并根据预定义的条件改变单元格的颜色。该代码适用于两行(第3行和第4行),然而,我想再使用它98次。
Dim rCell As Excel.Range
Dim rRng As Range
Set rCell = Range("AS3")
For Each rCell In ws1.Range("AS3:BG3")
If rCell.Value < Range("BP3").Value Or rCell.Value > Range("BO3").Value Then
rCell.Select
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End If
Next rCell
Set rCell = Range("AS4")
For Each rCell In ws1.Range("AS4:BG4")
If rCell.Value < Range("BP4").Value Or rCell.Value > Range("BO4").Value Then
rCell.Select
With Selection.Font
.Color = -16776961
.TintAndShade = 0
End With
End If
Next rCell发布于 2020-03-03 00:20:32
如果我理解正确的话,您希望range("AS3:BG101")和IF语句引用当前的rcell行。这个应该可以了。我还删除了无关的范围设置和声明以及选择。
Dim rCell As Range
For Each rCell In ws1.Range("AS3:BG101") 'Larger range
If rCell.Value < Range("BP" & rcell.row).Value Or rCell.Value > Range("BO" & rcell.row).Value Then 'Variable value
With rcell.Font 'No need to select
.Color = -16776961
.TintAndShade = 0
End With
End If
Next rCellhttps://stackoverflow.com/questions/60492673
复制相似问题