Страницы: 1
RSS
Удалить строки, в которых есть слова из списка
 
Здравствуйте помогите пожалуйста.
Имеется список фраз (неопределенного количества) в столбце "А" на "Листе1"
Необходим макрос который будет выполнять следующую функцию.
Внося список ключевых слов на "Лист2" в столбец "A"
Макрос должен удалять строки с фразами из "Лист1" столбца "A" в которых содержится ключ из "Листа2" столбца "A"

Заранее благодарю.
 
как-то так
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik,юмор?
 
намек
Соблюдение правил форума не освобождает от модераторского произвола
 
Код
Sub Тыц()
With CreateObject("WScript.Shell")
 .Run "https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=45586&TITLE_SEO=45586-pravila-foruma"
End With
End Sub
 
Это Вам намекнули, что пример Вы должны делать, а не помогаторы.
А чтоб у Вас охота не отпала, то вот Вам решение:
Код
Function GetArr(r As Range) As Variant
    With r.Parent
        Dim x As Integer
        x = r.Column
        Dim y As Long
        y = .Cells(.Rows.Count, x).End(xlUp).Row
        Dim a As Variant
        If y = 1 Then
            ReDim a(1 To 1, 1 To 1)
            a(1, 1) = .Cells(1, x).Value
        Else
            a = .Range(.Cells(1, x), .Cells(y, x))
        End If
    End With
    GetArr = a
End Function
'
Function GetDic(a As Variant) As Object
    Dim d As Object
    Set d = CreateObject("Scripting.Dictionary")
    Dim y As Long
    For y = 1 To UBound(a, 1)
        d.Item(LCase(a(y, 1))) = 0
    Next
    Set GetDic = d
End Function
'
Sub Main()
    Dim arr1 As Variant: arr1 = GetArr(Sheets(1).Cells(1))
    Dim arr2 As Variant: arr2 = GetArr(Sheets(2).Cells(1))
    Dim dic As Object: Set dic = GetDic(arr2)
    
    Dim v As Variant
    Dim y As Long
    For y = UBound(arr1, 1) To 1 Step -1
        For Each v In dic.Keys
            If InStr(LCase(arr1(y, 1)), v) > 0 Then
                Sheets(1).Rows(y).Delete
            End If
        Next
    Next
End Sub
 
Samurai2020, не забудьте с правилами форума ознакомиться. Там и о названии темы, и о файле-примере написано.
 
МатросНаЗебре,добавил фразы. включил макрос. он удали все в первого листа.
 
Вместо Вас еще и примеры должны в файл вносить?
Правила форума здесь
 
Вить, чего пристал? Не самурайское это дело, примеры рисовать.
 
Тогда - харакири, так как решений не будет :)
 
Цитата
vikttur написал: Тогда - харакири,
Цитата
Samurai2020 написал: он удали все в первого листа.
и отформатировал диск :-)
Я б расширенным фильтром фильтранул да удалил.
Изменено: БМВ - 14.04.2020 17:38:46
По вопросам из тем форума, личку не читаю.
 
Раз примеров нет и что-то не работает - пробуйте готовое и с описанием работы: Как удалить строки по условию?
Там есть и Ваш случай.
Удачи!
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх