DYm00n пишет:aap77 пишет:Тогда вместо
inp = InputBox("Введите слова для удаления" & Chr(13) _
& "через разделитель $. Например: " _
& "г.$ул.$р-н") 'Запрашиваем список удаляемых слов
Надо вставить
list=array("г.","ул.", "р-н") 'Создает массив зарезервированных слов
А как быть с
>Кстати, хотелось бы еще добавить функцию, чтобы он больше одного пробела подряд удалял.
Если я правильно понял, то текст макроса должен быть такой -
Public Sub DeleteListWord()
Dim inp As String, list As Variant
list=array("г.","ул.", "р-н") 'Создает массив зарезервированных слов
list = Split(inp, "$") 'Создаем список слов
For i = LBound(list) To UBound(list) 'Циклом заменяем слова списка
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
With Selection.Find
.Text = list(i)
.Replacement.Text = ""
End With
Selection.Find.Execute Replace:=wdReplaceAll
Next i
End Sub
Меня вот только смушают выделенные фрагменты. Все правильно? У меня данный макрос не работает и ошибок даже не выдает