Проход по рядам, выбирая одинаковые столбцы от одной строки до 1000 - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть ряд ячеек в строке, и код, который я имею, делает то, что должен, но мне нужно перебрать больше строк до 1000, выполняя ту же процедуру, что и в первой строке кода, который я вставил. Как я могу перебрать другие строки, выбирая те же столбцы и ячейки в каждой строке?

Я использовал следующее, и это сработало, но только для одной строки, которую я должен иметь возможность циклически проходить по этим ячейкам в этих столбцах до строки 1000, как я могу это сделать?

Dim cel As Range

    'Find the 2nd most recent date:
BeforeDate = Application.WorksheetFunction.Large(Range("Q2,T2,W2,Z2,AC2,AF2"), 2)

For Each cel In Range("Q2,T2,W2,Z2,AC2,AF2")
    If cel.Value < BeforeDate Then
        cel.ClearContents
        cel.Offset(, -1) = ""
        cel.Offset(, -2) = ""
    End If
Next cel

1 Ответ

0 голосов
/ 16 апреля 2019

Непроверенные: (правка - добавлена ​​проверка ошибок)

Sub Tester()

    Dim cel As Range, rng As Range, x As Long, BeforeDate, v

    For x = 2 To 1000

        'this works because Range is *relative to the Row*
        Set rng = ActiveSheet.Rows(x).Range("Q1,T1,W1,Z1,AC1,AF1")

        BeforeDate = Application.Large(rng, 2)

        If Not IsError(BeforeDate) Then
            For Each cel In rng.Cells
                v = cel.Value
                If Not IsError(v) Then
                    If v < BeforeDate Then
                        cel.Offset(, -2).Resize(1, 3).ClearContents
                    End If
                End If
            Next cel
        End If

    Next x

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...