Здравствуйте. Необходимо удалить из таблицы определенный перечень слов. В моем случае это производитель товара. Пример: Антифриз SINTEC красный LUX G12 → Антифриз красный LUX G12 Брызговик 2109 перед.левый БРТИ → Брызговик 2109 перед.левый Можно составить полный список производителей, но как удалить его с таблицы...
Здравствуйте. Необходимо удалить из таблицы определенный перечень слов. В моем случае это производитель товара. Пример: Антифриз SINTEC красный LUX G12 → Антифриз красный LUX G12 Брызговик 2109 перед.левый БРТИ → Брызговик 2109 перед.левый Можно составить полный список производителей, но как удалить его с таблицы...-=Dj=-
Ctrl+h вводим слово в "найти", в "заменить на" ни чего жмем "заменить все" после операций со словами Ctrl+h вводим 2 пробела в "найти", в "заменить на" один пробел жмем "заменить все"
Ctrl+h вводим слово в "найти", в "заменить на" ни чего жмем "заменить все" после операций со словами Ctrl+h вводим 2 пробела в "найти", в "заменить на" один пробел жмем "заменить все"Nic70y
ЮMoney 41001841029809
Сообщение отредактировал Nic70y - Суббота, 18.02.2017, 14:30
Производителей очень много, таблиц тоже. проделывать это каждый раз достаточно затруднительно. есть ли возможность перечислить сразу несколько слов для поиска и замены?
Производителей очень много, таблиц тоже. проделывать это каждый раз достаточно затруднительно. есть ли возможность перечислить сразу несколько слов для поиска и замены?-=Dj=-
Вариант с помощью макроса. Способ удаления пробелов взял из поста 2. На доплисте сделана умная таблица. Когда Вы будете снизу добавлять новые слова, умная таблица будет автоматически расширяться и макрос будет видеть конец таблицы. В самом файле макроса нет.
[vba]
Код
Sub Удалить_слова() Dim arr(), i As Long Application.ScreenUpdating = False arr() = Worksheets("доплист").ListObjects(1).DataBodyRange.Columns(1).Value For i = 1 To UBound(arr) Columns("B").Replace What:=arr(i, 1), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next i Columns("B").Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
[/vba]
Вариант с помощью макроса. Способ удаления пробелов взял из поста 2. На доплисте сделана умная таблица. Когда Вы будете снизу добавлять новые слова, умная таблица будет автоматически расширяться и макрос будет видеть конец таблицы. В самом файле макроса нет.
[vba]
Код
Sub Удалить_слова() Dim arr(), i As Long Application.ScreenUpdating = False arr() = Worksheets("доплист").ListObjects(1).DataBodyRange.Columns(1).Value For i = 1 To UBound(arr) Columns("B").Replace What:=arr(i, 1), Replacement:="", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Next i Columns("B").Replace What:=" ", Replacement:=" ", LookAt:=xlPart, _ SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ ReplaceFormat:=False Application.ScreenUpdating = True MsgBox "Готово!", vbInformation End Sub
Как не крути, а список придется составлять. Так тоже наверное можно? [vba]
Код
Sub удалить() Dim ps&, pr$ ps = Range("B" & Rows.Count).End(xlUp).Row With Sheets("список") For I = 1 To .Range("A" & Rows.Count).End(xlUp).Row pr = .Cells(I, "A") Range("B2:B" & ps).Replace pr, "", xlPart Next Range("B2:B" & ps).Replace " ", " ", xlPart End With End Sub
Как не крути, а список придется составлять. Так тоже наверное можно? [vba]
Код
Sub удалить() Dim ps&, pr$ ps = Range("B" & Rows.Count).End(xlUp).Row With Sheets("список") For I = 1 To .Range("A" & Rows.Count).End(xlUp).Row pr = .Cells(I, "A") Range("B2:B" & ps).Replace pr, "", xlPart Next Range("B2:B" & ps).Replace " ", " ", xlPart End With End Sub