Замена значений заданными уникальными значениями.

Автор Леся Блиц, 20.02.2018, 22:36

« назад - далее »

Леся Блиц

Буду благодарна за Вашу помощь.  Есть некий текст состоящий из букв и чисел. Числа в тексте не повторяются. Как заменить эти числа на другие уникальные числа (порядок вставки чисел не важен. Числа имеют разную длину. Числа можно воспринимать как текст, арифметических операций с ними выполняться не будет). Короткий пример во вложении. Есть идея, как это реализовать разбив на отдельные ячейки и заменяя каждую по отдельности, но хотелось бы этого избежать.

boa

Добрый день,
наверное универсальным решением будет макрос

Option Explicit

Function MeSplit(sText As String)
    Dim i&, str$
    str = sText
    For i = 1 To Len(sText)
     If Not IsNumeric(Mid(sText, i, 1)) Then str = Replace(str, Mid(sText, i, 1), " ")
    Next
    MeSplit = Application.WorksheetFunction.Trim(str)
End Function

Function MeReplace(sText As String, ParamArray Values() As Variant)
    Dim i&:
    Dim ArrRep: ArrRep = Split(MeSplit(sText), " ")
    For i = LBound(ArrRep) To UBound(ArrRep)
        sText = Replace(sText, ArrRep(i), Values(0)(i + 1).Value)
    Next
    MeReplace = sText
End Function

во вложении показано какая функция что возвращает
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

Леся Блиц

#2
Огромное спасибо! То, что надо!

Леся Блиц

К сожалению, не учла я тот момент, что ячейка не может вместить нужного мне количества символов для задания исходного перерабатываемого текста((

boa

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра