Страницы: 1
RSS
Самый простой способ удалить слова из списка2 в списке1?
 
Здравствуйте!

Вот такая задачка теперь есть:



Какой самый простой способ вычесть все слова из список2 в список1?
 
vinegredz, берете маркер и замазываете лишнее на экране.
 
vinegredz, это всё нужно сделать на рисунке?
 
Намек понятен. Исправляюсь.  
 
Самый простой - инструмент НАЙТИ/ЗАМЕНИТЬ. Для гарантии, что не удалятся фрагменты слов:
=" "&A2&" "
НАЙТИ слово с пробелами с двух сторон, ЗАМЕНИТЬ на пустоту.
После замены удалить лишние пробелы:
=СЖПРОБЕЛЫ(A2)
 
Цитата
vinegredz написал:
б вычесть все слова из список2 в список1?
ну ладно вставить в список, но вычесть в список - это как? :-)

vinegredz, Могу допустить, что говноскрипт из https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=103063&a... это сделает. Попробуйте. Хотя принцип в данном случае правильный немного иной.
Изменено: БМВ - 02.04.2018 20:33:38
По вопросам из тем форума, личку не читаю.
 
То, о чем написано в сообщении №5, но в другом исполнении:
Код
Sub DelWord()
Dim aPfras(), aWord()
Dim lRwF As Long, lRw As Long
Dim i As Long, k As Long
    With ActiveSheet
        lRwF = .Cells(.Rows.Count, 1).End(xlUp).Row
        aPfras = .Range("A1:A" & lRwF).Value
        lRw = .Cells(.Rows.Count, 2).End(xlUp).Row
         aWord = .Range("B1:B" & lRwF).Value
    End With
    
    For k = 2 To lRw
         aWord(k, 1) = " " & aWord(k, 1) & " "
    Next k

    For i = 2 To lRwF
         aPfras(i, 1) = " " & aPfras(i, 1) & " "
    
        For k = 2 To lRw
            aPfras(i, 1) = Replace(aPfras(i, 1), aWord(k, 1), "")
        Next k
        
        aPfras(i, 1) = Trim$(aPfras(i, 1))
    Next i
        
    ActiveSheet.Range("A1:A" & lRwF).Value = aPfras
End Sub

Нет проверки на отсутствие значений в диапазоне. Вместо активного листа можно указать другой.
Страницы: 1
Наверх