Страницы: 1
RSS
Макрос удаления строк по условию
 
Подскажите, пожалуйста, макрос удаления строк по условию: смотрим столбец D, ищем ключевые слова, сначала "Апельсин" потом "Большой мандарин". Если находим, смещаемся в столбец С и смотрим следующую строку: если строка пустая - удаляем ее (пустых строк может быть несколько), если НЕ пустая, продолжаем поиск ключевых слов. Пример во вложении. Заранее спасибо за Вашим ответы (собираю 1 большой макрос по частям, это последний фрагмент в нем, буду признателен за Вашу помощь)!
Изменено: Евгений И. - 13.06.2019 14:09:49
 
Код
Sub asd()
    Dim delrows As New Collection
    key_words = Array("Апельсин", "Большой мандарин")
    col = 4
    For i = 4 To Cells(Rows.Count, 4).End(xlUp).Row
        If Not IsEmpty(Cells(i, col)) Then
            If col = 3 Then col = 4
            For j = 0 To UBound(key_words)
                If key_words(j) = Cells(i, col) Then
                    col = 3
                    Exit For
                End If
            Next j
        ElseIf col = 3 Then
            delrows.Add (i)
        End If
    Next i
    
    For i = delrows.Count To 1 Step -1
        Rows(delrows.Item(i)).Delete
    Next i
End Sub
 
Код
Sub Button1_Click()
    lr = Cells(Rows.Count, "C").End(xlUp).Row
    For i = lr To 2 Step -1
        If Cells(i, "C") = "" And Cells(i, "D") <> "" And Cells(i - 1, "C") = "" And Cells(i - 1, "D") <> "" Then Rows(i).Delete
    Next
End Sub
 
Все подходит, большое спасибо за решения!!!))
 
Приветствую всех!
Как должен выглядеть этот код, если вместо текста типа "апельсин", в таблице числовые данные (и целые и нецелые числа),  а удалить (ну или переместить) нужно строки, значения в которых меньше (или больше) заданной величины. К примеру если по тому же столбцу "C" значения меньше 500 ?
Спасибо !
Страницы: 1
Наверх