Страницы: 1
RSS
Замена запрещенных символов в значении ячейки
 
Здравствуйте!

Столкнулся с проблемой.
Необходимо заменить все запрещенные символы в столбце чтобы можно было по каждому из значений ячейки столбца создать именованный диапазон.
 
Делали уже:
Код
Function Replace_symbols(ByVal txt As String) As String
    St$ = "~!@#$%^&|\/.*=|`'"""
    For i% = 1 To Len(St$)
        txt = Replace(txt, Mid(St$, i, 1), "_")
    Next
    Replace_symbols = txt
End Function
Я сам - дурнее всякого примера! ...
 
kuklp, видел этот код в темах, но это для замены названия файла.
Опыта в vba у меня мало, со строками вообще не работал, не понимаю как работает данный код.
Можете помочь с моим примером?
Изменено: empty28 - 29.03.2016 12:30:21
 
Навскидку:
Код
Sub заменить()
For x = 1 To 5
    For Each char In Array("\", "/", ":", "*", "?", "<", ">", "|", Chr(34))
    Cells(x, 1).Value = Replace(Cells(x, 1).Value, char, "")
    Next
Next
End Sub
«Бритва Оккама» или «Принцип Калашникова»?
 
Количество строк (сейчас 5) и нужные символы добавьте на свое усмотрение (мой набор для наименования фалов использовался). Если данных много, можно пойти через массив, будет работать на порядок быстрее (создать/загрузить, обработать, выгрузить).
«Бритва Оккама» или «Принцип Калашникова»?
 
bedvit,Большое спасибо, все работает!
 
для работы кода от kuklp повесте мой код на вашу кнопку и естественно сам код от kuklp  перенесите к себе в файл.
Код
Sub Кнопка1_Щелчок()
Dim s As Range
For Each s In Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
 s.Value = Replace_symbols(s.Value)
Next
End Sub
Изменено: V - 29.03.2016 14:27:49
 
empty28, если не ошибаюсь, вариант Nerv, который прислал kuklp - это универсальная функция. То есть вводите её, указывая ячейку-источник и протягиваете на весь диапазон...
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Читают тему
Наверх