ActiveCell на основе выбора - PullRequest
1 голос
/ 29 июня 2019

Столбец A - H содержит данные с пробелами между ними. Я хочу найти «ABC» в столбце A, а затем выбрать 2 строки выше - это будет мой ActiveCell.

Я хочу удалить строки от ActiveCell до Row2 (активная ячейка - динамическая)

Sub format()   
    Cells.Find(What:="abc", _
               After:=ActiveCell, _
               LookIn:=xlFormulas, _
               LookAt:= xlPart, _
               SearchOrder:=xlByRows, _
               SearchDirection:=xlNext, _
               MatchCase:=False, _
               SearchFormat:=False).Activate
    ActiveCell.Offset(-2, 0).Select
    Range(Selection, ActiveCell, A2).Select   
End Sub

Ответы [ 2 ]

1 голос
/ 29 июня 2019

Код сделает всю работу за вас:

Sub format()

Dim rng As Range

Set rng = Cells.Find(What:="abc", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
    xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
    , SearchFormat:=False)

    rng.Offset(-2, 0).Select

    Range(Cells(Selection.Row, 1), Cells(2, 1)).Select
    'Selection.EntireRow.Delete

End Sub

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

0 голосов
/ 29 июня 2019

Для Range пожалуйста, попробуйте:

 (ActiveCell, "A2").Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...