Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.10.2012, 20:32   #1
mariyavaryanitsa
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 17
По умолчанию как извлечь нужный текст из строки

Добрый вечер! Посмотрите пожалуйста кто может на мою задачу, мне нужно в столбце К вычлинить число,которое стоит перед буквой "р" , иногда оно стоит вот так 3р, иногда с пробелом. Иногда это дробное число 0,01. Наверно тут нужны регулярные выражения. Формулы не помогают.
mariyavaryanitsa вне форума Ответить с цитированием
Старый 31.10.2012, 20:34   #2
mariyavaryanitsa
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 17
По умолчанию

вот пример
Вложения
Тип файла: zip российские.zip (36.8 Кб, 16 просмотров)
mariyavaryanitsa вне форума Ответить с цитированием
Старый 31.10.2012, 20:51   #3
mariyavaryanitsa
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 17
По умолчанию

а извлеченное число можно вставить в столбец L
mariyavaryanitsa вне форума Ответить с цитированием
Старый 31.10.2012, 22:15   #4
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Код:
Function FindDig(ByVal txt$) As Long
    With CreateObject("VBScript.regexp"): .Global = True
        .Pattern = "\d+(?= ?р)"
        FindDig = IIf(.test(txt$), .Execute(txt$)(0), "")
    End With
End Function
Вложения
Тип файла: zip российские.zip (44.4 Кб, 17 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.10.2012, 22:25   #5
mariyavaryanitsa
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 17
По умолчанию

Прошу прощение, не могу разобраться как пользоваться кодом, Sub и End Sub не нужны?
mariyavaryanitsa вне форума Ответить с цитированием
Старый 31.10.2012, 22:26   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Вы свой файл во вложении смотрели?
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.10.2012, 22:29   #7
mariyavaryanitsa
Пользователь
 
Регистрация: 28.09.2012
Сообщений: 17
По умолчанию

да, но там макроса нет, там просто формула в ячейке
mariyavaryanitsa вне форума Ответить с цитированием
Старый 31.10.2012, 22:30   #8
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Эта функция вам поможет
применение L3=ManiRUR(K3)
Код:
Public Function ManiRUR(ByVal s) As Variant
        bRes = False
        Set RegExp = CreateObject("VBScript.RegExp")
        RegExp.IgnoreCase = True
        RegExp.Pattern = "(\d{1,}|\d{1,},\d{1,})(р| р)"
        bRes = RegExp.test(s)
        If bRes Then
                Set oMatches = RegExp.Execute(s)
                ManiRUR = oMatches(0).SubMatches(0)
                Exit Function
        End If
        ManiRUR = ""
End Function
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 31.10.2012, 22:31   #9
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Там функция в общем модуле.
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 31.10.2012, 22:33   #10
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Привет, тезка. Чет ты слишком усложнил:-)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как из ячейки содержащей текст и число извлечь только число? АННА-ЕАО Microsoft Office Excel 35 02.12.2016 23:16
Как "выдрать" нужный текст из html странички[C#] iHikita Общие вопросы .NET 7 14.07.2010 12:50
Помогите вытянуть нужный текст из memo XazzzI Общие вопросы Delphi 11 17.06.2009 17:06
Как извлечь из двух столбцов несовпадающие строки Shavminator Microsoft Office Excel 4 28.12.2007 12:23
Как извлечь текст из буфера в строку? Brother Win Api 3 13.11.2007 20:19