Excel VBA Макросы: Как удалить строки, у которых в столбце F слово "удалить"?

Автор tatuning, 29 июля 2018, 18:06

tatuning

Как удалить строки, в которых есть текст "удалить"?
Искать текст нужно в столбце F с третьей строки.

[вложение удалено администратором]

Администратор

Если нужно искать слово "удалить" без учёта больших/маленьких букв, то в самом вверху модуля напишите 'Option Compare Text'. Я написал эту фразу в макрос, который записан ниже.

Макрос
Option Compare Text

Sub макрос()

    Dim arr(), lr As Long, i As Long
   
   
    '1. Отключение монитора, чтобы ускорить макрос.
        ' Если много формул, то можно ещё отключить формулы.
    Application.ScreenUpdating = False
   
    '2. Копирование данных из экселя в vba-массив.
        ' С vba-массивом макрос быстрее работает, чем с эксель-ячейками.
    ' Поиск последней строки. End не ищет в скрытых строках.
    lr = Cells(Rows.Count, "F").End(xlUp).Row
    ' Копирование данных в массив.
    arr() = Range("F1:F" & lr).Value
   
    '3. Удаление строк.
    ' Двигаемся снизу вверху по массиву 'arr'.
    For i = UBound(arr) To 3 Step -1
        If arr(i, 1) = "удалить" Then
            Rows(i).Delete
        End If
    Next i
   
    '4. Включение монитора.
    Application.ScreenUpdating = True
   
    '5. Сообщение.
    MsgBox "Готово.", vbInformation

End Sub
[свернуть]