遍历多行

时间:2020-03-02 16:08:12

标签: excel vba loops foreach

我有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

1 个答案:

答案 0 :(得分:1)

如果我正确理解,您希望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 rCell
相关问题