Определите номер строки, где предыдущее значение ячейки в столбце отличается только видимым диапазоном - PullRequest
0 голосов
/ 22 февраля 2020

Я ищу, чтобы получить номер строки в видимом диапазоне (данные фильтруются), где текущая проверяемая ячейка не равна <> предыдущей ячейке в том же столбце.

Я написал следующее код, который возвращает правильную строку изменения между предыдущей и текущей (более / менее) ячейками, однако в непосредственном окне он возвращает то же значение строки 22 раза, столько же раз, сколько у меня видимых строк. Мне просто нужно вернуть номер строки один раз. Должно быть, это происходит для меня oop у меня есть. Ваша помощь очень ценится.

Sub PreceedingVisibleCellDiff()
'find row number when cell value differs from cell above

Dim LastRow As Long, cl As Range, rng As Range

LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Debug.Print "LastRow: " & LastRow

Set rng = Range("B5:B" & LastRow)

For Each cl In rng.SpecialCells(xlCellTypeVisible)

    For i = LastRow To 5 Step -1

    If Cells(i, 12) <> "" Then
        If Cells(i, 8) <> Cells(i, 8).Offset(-1) Then Debug.Print i
    End If

    Next i

Next cl

End Sub

1 Ответ

0 голосов
/ 24 февраля 2020

Рабочий раствор на основе рекомендации urdearboy выше:

Sub PreceedingVisibleCellDiff()
'find row number when cell value differs from cell above

Dim LastRow As Long, cl As Range, rng As Range

LastRow = ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Debug.Print "LastRow: " & LastRow

Set rng = Range("B5:B" & LastRow)

For Each cl In rng.SpecialCells(xlCellTypeVisible)

    'check that colum L(12) has an action item
    If Cells(cl.Row, 12) <> "" Then
        'at the row in column H (8) where the preceding cell does not match, there is a
        'new action to be acted upon
        If Cells(cl.Row, 8) <> Cells(cl.Row, 8).Offset(-1) Then Debug.Print cl.Row

        '< do something here using cl.Row >

    End If

Next cl

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