Страницы: 1
RSS
Как удалить строки, в который есть ячейки с искомым словом?
 
Здравствуйте!  
 
Подскжите, пожалуйста, как решить такую задачу. Имеется таблица из которой нужно удалить строки, содержащие одно, несколько, или все искомые слова. Наверно надо написать макрос, но с этим у меня проблема. Пожалуйста помогите, если это не очень сложно.  
 
Спасибо.
 
Включаем автофильтр  
Фильтруем по необходимому условию  
Удаляем строки  
Отключаем автофильтр
 
Спасибо, но это не совсем то, что надо. Я забыл сказать, что в ячейках содержится довольно объемный текст. С помощью фильтра можно отфильтровать по одному-двум словам (и/или), а мне надо отфильтровать по 10-15 словам. Как сделать это за один раз? Я не нашел такой возможности.
 
Здравствуйте!  
Приложите пример (предварительно ознакомившись с правилами). За вас рисовать таблицу, указывать что откуда должно быть удалено и т.д. мало кому захочется.
Кому решение нужно - тот пример и рисует.
 
Пример покажите.  
А так навскидку - цикл снизу вверх, проверяем на InStr() ячейку (не видим, какую), удаляем.  
Или несколько поисков.  
Если совпадений может быть много - может перебор будет и быстрее.
 
{quote}{login=Vitalijs}{date=08.09.2010 12:10}{thema=}{post}Спасибо, но это не совсем то, что надо. Я забыл сказать, что в ячейках содержится довольно объемный текст. С помощью фильтра можно отфильтровать по одному-двум словам (и/или), а мне надо отфильтровать по 10-15 словам. Как сделать это за один раз? Я не нашел такой возможности.{/post}{/quote}  
 
Делаете список слов которые по которым нужно удалять  
Далее "расширенный фильр" по ним  
или доп.столбец с проверкой наличия данных слов в тексте и автофильтр по этому столбцу
 
Sub Удаление_строк_по_слову()  
Dim iRange As Range  
Dim TextToFind As Variant  
 
With Application  
.ScreenUpdating = False  
.Calculation = xlCalculationManual  
TextToFind = Application.InputBox("Введите текст для поиска" & Chr(13) & Chr(13) & _  
"Внимание: Все строки, которые содержат это слово в любой ячейке будут удалены!", _  
"Поиск и удаление строк", "", "")  
If TextToFind = "" Or TextToFind = False Then Exit Sub  
TextToFind = Trim(TextToFind)  
With ActiveSheet.Cells  
Set iRange = .Find(What:=TextToFind, LookIn:=xlFormulas, LookAt:=xlPart)  
If Not iRange Is Nothing Then  
Do  
iRange.EntireRow.Delete  
Set iRange = .Find(What:=TextToFind, LookIn:=xlFormulas, LookAt:=xlPart)  
Loop While Not iRange Is Nothing  
Else  
MsgBox "Текст " & TextToFind & " на листе не найдено!", 48, "Ошибка"  
Application.Calculation = xlCalculationAutomatic  
Exit Sub  
End If  
End With  
.Calculation = xlCalculationAutomatic  
.ScreenUpdating = True  
End With  
MsgBox "Строки с текстом " & TextToFind & " удалены!", 64, "Конец"  
End Sub
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
Страницы: 1
Читают тему
Наверх