Здравствуйте уважаемые специалисты! Просим Вас помочь нам решить задачу по замене содержимого в ячейке из массива и подстановку соответствующего значения в отдельную ячейку. Если более детально разобраться в ситуации то задача выглядит след. образом: Формула смотрит ячейку в столбце назовем его" А", находит внутри текста значения с цифрой (по массиву) и вставляет его в ячейку назовем его" B "в нужном формате. Пример "В ячейке А есть такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл" "150 мл" - является значением. Т.е. массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20) Таким образом, формула глядя на массив смотрит в ячейке это значение если она его там находит, то ставит в ячейке" Б" это значение + мл Ниже прикрепляем файлы эксель где можно наглядно понять что мы хотим реализовать. Колонка "AD". Заранее спасибо!
Здравствуйте уважаемые специалисты! Просим Вас помочь нам решить задачу по замене содержимого в ячейке из массива и подстановку соответствующего значения в отдельную ячейку. Если более детально разобраться в ситуации то задача выглядит след. образом: Формула смотрит ячейку в столбце назовем его" А", находит внутри текста значения с цифрой (по массиву) и вставляет его в ячейку назовем его" B "в нужном формате. Пример "В ячейке А есть такое значение Тестер 150ml EDT. В ячейку B надо вставить просто 150 мл" "150 мл" - является значением. Т.е. массив в данном случае будет перечисление всех возможно встречающийся объемов в файле ( 5, 10, 15, 20) Таким образом, формула глядя на массив смотрит в ячейке это значение если она его там находит, то ставит в ячейке" Б" это значение + мл Ниже прикрепляем файлы эксель где можно наглядно понять что мы хотим реализовать. Колонка "AD". Заранее спасибо!elle-perfume
Function Объем(Источник As String) As String With CreateObject("VBScript.RegExp") .Pattern = "[\d]+" If .test(Источник) Then Объем = .Execute(Источник)(0) & " мл" End With End Function
[/vba]
Держите UDF [vba]
Код
Function Объем(Источник As String) As String With CreateObject("VBScript.RegExp") .Pattern = "[\d]+" If .test(Источник) Then Объем = .Execute(Источник)(0) & " мл" End With End Function
После долгих мучений так и не удалось разобраться При первом варианте вместо значений появляется "#имя"(ощибка недопустимое имя) При UDF пишет что "ошибка в значении" Чувствую что можем завязнуть с этой темой.Если кто готов помочь приватно-пишите в личку.Сделаем скидку на парфюм) [moder]В личку только если мы переносим тему в раздел Фриланс. Иначе решайте здесь.
После долгих мучений так и не удалось разобраться При первом варианте вместо значений появляется "#имя"(ощибка недопустимое имя) При UDF пишет что "ошибка в значении" Чувствую что можем завязнуть с этой темой.Если кто готов помочь приватно-пишите в личку.Сделаем скидку на парфюм) [moder]В личку только если мы переносим тему в раздел Фриланс. Иначе решайте здесь.elle-perfume
Сообщение отредактировал _Boroda_ - Вторник, 08.09.2015, 15:25
UDF вроде разобрался.Но все равно получается полуручная система-ввожу формулу и только первое значение переноситсяю _Boroda_, ввожу через контрол_шифт_ентер По сути - растягиваем значение объемов из строки где "{75 мл,100 мл,150 мл}" в ту же колонку ниже(чтобы у каждого из наименований парфюма был свой обьем), чтоб на выходе получилось: парфюм эксель 75мл парфюм эксель 100мл парфюм эксель 150мл
UDF вроде разобрался.Но все равно получается полуручная система-ввожу формулу и только первое значение переноситсяю _Boroda_, ввожу через контрол_шифт_ентер По сути - растягиваем значение объемов из строки где "{75 мл,100 мл,150 мл}" в ту же колонку ниже(чтобы у каждого из наименований парфюма был свой обьем), чтоб на выходе получилось: парфюм эксель 75мл парфюм эксель 100мл парфюм эксель 150млelle-perfume