Удалить строку + 3, которая содержит слово без цикла - PullRequest
0 голосов
/ 10 января 2019

У меня есть электронная таблица, которая содержит 4 константы в каждой строке. В зависимости от количества строк в кавычках, строки, в которых встречаются эти 4 основные строки, различаются. Я пытаюсь найти код, который находит слова «БИЛЕТЫ В МАГАЗИНЕ» в столбце B, а затем удаляет эту строку и 3 под ней без цикла. Цикл не нужен и, похоже, затормаживает его. Я занимаюсь этим уже 2 дня и, похоже, не могу найти правильный код.

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

Ответы [ 2 ]

0 голосов
/ 10 января 2019
Cells.Find(What:="SHOP TICKETS", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
Set rng = Range(ActiveCell, ActiveCell.Offset(3, 0))
rng.EntireRow.Delete

Я понял !! Благодарю. Разговор с группой помог.

0 голосов
/ 10 января 2019
Sub delete
   With WorkSheets("Sheet1") 'Change to your sheet
       Dim rw as Long
       On Error Resume Next
           rw = Application.WorksheetFunction.Match("SHOP TICKETS",.Range("B:B"),0)
       On Error Goto 0

       If rw > 0 Then
           .Range(rw & ":" & rw + 3).entirerow.delete
       End if
    End with
 End sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...