Страницы: 1
RSS
Вставка символа перед числом в ячейке
 
Здравствуйте!
Помогите пожалуйста советом, не получается с помощью поиска и замены вставить символ (любой) перед номером телефона для дальнейшего удобного применения функции "текст по столбцам". В общем имеются ячейки в которых есть какой то текст и обязательно номер телефона, начинающийся с 9????????? ;, так вот мне необходимо чтобы все эти номера начинались примерно так `9????????? ;. Как это можно сделать?
 
Цитата
примерно так `9?????????
Примерно как? С апострофом?
="'"&A1
А если примерно не так и у Вас еще 15 символов на примете?
 
Да, с апострофом. Ваша формула подставляет апостроф просто на первое место, а мне надо чтобы именно перед числом ставился апостроф, а число может быть на разных местах в ячейке.
Вот пример, слева как было, справа как надо:  
 
Цитата
teckor написал: для дальнейшего удобного применения функции "текст по столбцам"
делите по пробелам судя по картинке тоже самое получится
Лень двигатель прогресса, доказано!!!
 
=ПОДСТАВИТЬ(A1;" 9";" '9")
 
А если встретится "подруга друга" или " нашему забору двоюродный плетень"?
Цитата
teckor написал: какой то текст и обязательно номер телефона, начинающийся с 9?????????
=ПОДСТАВИТЬ(A1; " 9";" '9")
 
добрый день,попробуйте макросом менять,кнопка test
Код
 Sub test()
   Dim x, i&
   x = Sheets("Лист1").Range("A1").CurrentRegion.Value
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    For i = 1 To UBound(x)
       If .test(x(i, 1)) Then x(i, 1) = .Replace(x(i, 1), "'" & .Execute(x(i, 1))(0))
    Next
 End With
   Sheets("Лист1").Range("A1").Resize(UBound(x), UBound(x, 2)).Value = x
End Sub
Изменено: sv2013 - 02.02.2016 12:00:32
 
Цитата
sv2013 написал: If .test(x(i, 1)) Then x(i, 1) = .Replace(x(i, 1), "'" & .Execute(x(i, 1))(0))
Нет, так ВСЕ номера в одной ячейке поменяются на первый номер в ячейке. Вот
Код
       If .test(x(i, 1)) Then x(i, 1) = .Replace(x(i, 1), "'$&")
Об использовании разных возможностей подстановки в RegExp: https://msdn.microsoft.com/en-us/library/ewy2t5e0(v=vs.110).aspx
 
Казанский,благодарю за уточнение,с учетом этого кнопка test1
Код
Sub test1()
Dim x, i&
   x = Sheets("Лист1").Range("A1").CurrentRegion.Value
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+": .Global = True
    For i = 1 To UBound(x)
     If .test(x(i, 1)) Then x(i, 1) = .Replace(x(i, 1), "'$&")
    Next
 End With
   Sheets("Лист1").Range("A1").Resize(UBound(x), UBound(x, 2)).Value = x
End Sub
Изменено: sv2013 - 02.02.2016 13:28:55
 
Спасибо за помощь! Решил проблему с помощью подсказки Catboyun.
 
, Казанский,благодарю за "'$&") и ссылку на справку т.к. в статьях обычно  пишут про сами выражение \s\d\w и т.д... а про это догнал только из коммента...
Код
"'$&")
Страницы: 1
Наверх