Цикл по нескольким рядам - PullRequest
0 голосов
/ 02 марта 2020

У меня есть код 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 Ответ

1 голос
/ 02 марта 2020

Если я правильно понимаю, вы хотите, чтобы 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...