Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/удаление строк по условиям не пашет - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » удаление строк по условиям не пашет (Макросы/Sub)
удаление строк по условиям не пашет
micholap_denis Дата: Воскресенье, 06.03.2022, 19:20 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 307
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
почему
[vba]
Код
Sub УдалениеСтрокПоНесколькимУсловиям()
    Dim delra As Range
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    ' ищем и удаляем строки, содержащие заданный текст
    ' (можно указать сколько угодно значений)
    УдалятьСтрокиСТекстом = Array("111", "22", "33")
    ' перебираем все строки в используемом диапазоне листа
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
        dx = .Range("L4:L" & LastRow)
        For i = 1 To UBound(dx)
            For Each word In УдалятьСтрокиСТекстом
                If InStr(1, dx(i, 1), word, vbTextCompare) > 0 Then
                    ' добавляем строку в диапазон для удаления
                    If delra Is Nothing Then Set delra = .Rows(i) Else Set delra = Union(delra, .Rows(i))
Exit For
                End If
            Next
        Next

    End With
    ' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк)
' If Not delra Is Nothing Then delra.EntireRow.Hidden = True    ' скрываем их
    If Not delra Is Nothing Then delra.EntireRow.Delete    ' удаляем их
    Application.ScreenUpdating = True
End Sub
[/vba]

ошибка строка [vba]
Код
If Not delra Is Nothing Then delra.EntireRow.Delete    ' удаляем их
[/vba]
К сообщению приложен файл: 1399296.xlsb(16.8 Kb)
 
Ответить
Сообщениепочему
[vba]
Код
Sub УдалениеСтрокПоНесколькимУсловиям()
    Dim delra As Range
    Application.ScreenUpdating = False    ' отключаем обновление экрана
    ' ищем и удаляем строки, содержащие заданный текст
    ' (можно указать сколько угодно значений)
    УдалятьСтрокиСТекстом = Array("111", "22", "33")
    ' перебираем все строки в используемом диапазоне листа
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, "L").End(xlUp).Row
        dx = .Range("L4:L" & LastRow)
        For i = 1 To UBound(dx)
            For Each word In УдалятьСтрокиСТекстом
                If InStr(1, dx(i, 1), word, vbTextCompare) > 0 Then
                    ' добавляем строку в диапазон для удаления
                    If delra Is Nothing Then Set delra = .Rows(i) Else Set delra = Union(delra, .Rows(i))
Exit For
                End If
            Next
        Next

    End With
    ' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк)
' If Not delra Is Nothing Then delra.EntireRow.Hidden = True    ' скрываем их
    If Not delra Is Nothing Then delra.EntireRow.Delete    ' удаляем их
    Application.ScreenUpdating = True
End Sub
[/vba]

ошибка строка [vba]
Код
If Not delra Is Nothing Then delra.EntireRow.Delete    ' удаляем их
[/vba]

Автор - micholap_denis
Дата добавления - 06.03.2022 в 19:20
micholap_denis Дата: Понедельник, 07.03.2022, 13:10 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 307
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
И никого...
 
Ответить
СообщениеИ никого...

Автор - micholap_denis
Дата добавления - 07.03.2022 в 13:10
Pelena Дата: Понедельник, 07.03.2022, 13:50 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 18555
Репутация: 4202 ±
Замечаний: ±

Excel 2016 & Mac Excel
Целиковые несмежные строки с листа не удалить, в этом легко убедиться, если попробовать это сделать вручную.
Но можно удалить несмежные строки внутри умной таблицы. Вариант в файле
К сообщению приложен файл: 4647133.xlsb(15.6 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЦеликовые несмежные строки с листа не удалить, в этом легко убедиться, если попробовать это сделать вручную.
Но можно удалить несмежные строки внутри умной таблицы. Вариант в файле

Автор - Pelena
Дата добавления - 07.03.2022 в 13:50
micholap_denis Дата: Понедельник, 07.03.2022, 14:17 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 307
Репутация: 0 ±
Замечаний: 40% ±

Excel 2013
Pelena, да, спасибо большое.
с наступающим вас Елена, всего доброго вам
 
Ответить
СообщениеPelena, да, спасибо большое.
с наступающим вас Елена, всего доброго вам

Автор - micholap_denis
Дата добавления - 07.03.2022 в 14:17
RAN Дата: Понедельник, 07.03.2022, 15:38 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 5630
Репутация: 1143 ±
Замечаний: 0% ±

2010
Целиковые несмежные строки с листа не удалить

Ой-ли?
Вот когда они пересекают умную таблицу, тады да.


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Целиковые несмежные строки с листа не удалить

Ой-ли?
Вот когда они пересекают умную таблицу, тады да.

Автор - RAN
Дата добавления - 07.03.2022 в 15:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » удаление строк по условиям не пашет (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!