Я пытаюсь найти все значения "O" снизу вверх.Я не могу использовать "нормальный" поиск, потому что я собираюсь offset
некоторые значения и .Find()
найдет их снова.
Проблема в том, что когда я использую .FindNext
после .Find()
с SearchDirection:=xlPrevious
возвращается наверх, а не в направлении.
В целях тестирования я использую этот код:
Dim f As Range
Set ws = ThisWorkbook.ActiveSheet
ws.Cells(7, 5).Value = "O"
ws.Cells(6, 5).Value = "O"
ws.Cells(5, 5).Value = "O"
ws.Cells(5, 6).Value = "O"
ws.Cells(5, 7).Value = "O"
Set f = ws.Range("A1:AX50").Find(what:="O", SearchDirection:=xlPrevious)
Debug.Print f.Address
Set f = ws.Range("A1:AX50").FindNext(f)
Debug.Print f.Address
Он печатает $E$7
и $E$5
.Я ожидал $E$7
и $E$6
.
Я не уверен, что это лучший способ найти все значения снизу вверх.Любая помощь будет оценена.