Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Критерий из другого листа для скрытия или удаления строк
 
Доброго времени суток!
Подскажите что изменить в коде. Использую для скрытия и удаления строк этот код, но очень неудобно каждый раз открывать Визуал Бэйсик и добавлять новые слово. Возможно ли чтобы искомый/заданный текст брался из Листа1, а фильтровал Лист2?
Пример кода и файла прилагаю
Код
Sub УдалениеСтрокПоНесколькимУсловиям() 
Dim ra As Range, delra As Range 
Application.ScreenUpdating = False ' отключаем обновление экрана 

' ищем и удаляем строки, содержащие заданный текст 
' (можно указать сколько угодно значений, и использовать подстановочные знаки) 
УдалятьСтрокиСТекстом = Array("текст1", "текст2", "текст3") 

' перебираем все строки в используемом диапазоне листа 
For Each ra In ActiveSheet.UsedRange.Rows 
' перебираем все фразы в массиве 
For Each word In УдалятьСтрокиСТекстом 
' если в очередной строке листа найден искомый текст 
If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then 
' добавляем строку в диапазон для удаления 
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra) 
End If 
Next word 
Next 

' если подходящие строки найдены, то: (оставьте одну из 2 следующих строк) 
If Not delra Is Nothing Then delra.EntireRow.Hidden = True ' скрываем их 
If Not delra Is Nothing Then delra.EntireRow.Delete ' удаляем их 
End Sub
 
Сам разобрался. Надо строку 7 заменить
Код
УдалятьСтрокиСТекстом = Worksheets("Лист1").Range("a1:a100")
Всем спасибо))
Страницы: 1
Читают тему (гостей: 1)
Наверх