Цитата |
---|
Hugo написал: Код |
---|
Function delsomesymb(txt As String, symb As Range)
Dim c As Range
For Each c In symb: txt = Replace(txt, c.Value, ""): Next
delsomesymb = txt
End Function |
|
У Вас в функции Replace параметры местами поменяны поэтому в txt ничего не пишется. Для меня работает такой вариант:
Код |
---|
Public Function УДАЛИТЬСИМВОЛ(ЯЧЕЙКА As Range, ТЕКСТ As String) As String
ТЕКСТ = Replace(ЯЧЕЙКА.Text, ТЕКСТ, "")
УДАЛИТЬСИМВОЛ = ТЕКСТ
End Function
|
Если кому-то не лениво, то объясните мне пожалуйста некорректность ссылки объекта ЯЧЕЙКА саму на себя в цикле For Each - но вариант в принципе рабочий.
Кстати можно удалять не только символы но и куски текста. Работает по тому же принципу что и у Hugo:
Код |
---|
=УДАЛИТЬСИМВОЛ(A4;B4) 'где А4 текст где надо удалить символ/текст записанный в ячейке В4
|