![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Пользователь
Регистрация: 28.09.2012
Сообщений: 17
|
![]()
А если это часть длинного кода, то как им пользоваться? просто вставить в мой код Option Explicit
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 а потом формулу? |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Так можно создать объект при первом вызове функции, а при последующих вызовах сократить количество операций до минимума:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 28.09.2012
Сообщений: 17
|
![]()
обьясните мне пожалуйста как пользоваться им
Sub Макро1() End Sub Dim re As Object Function FindDig(ByVal txt$) As Long On Error GoTo erh FindDig = re.Execute(txt$)(0) Exit Function erh: If Err = 91 Then 'Object variable or With block variable not set Set re = CreateObject("VBScript.regexp") re.Global = True re.Pattern = "\d+(?= ?р)" Resume End If End Function так? |
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 02.05.2010
Сообщений: 1,390
|
![]()
Леш, а не проще if re is nothing&? И не надо длиннющего обработчика ошибок.
Код:
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728 Последний раз редактировалось kuklp; 31.10.2012 в 23:07. |
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 15.12.2009
Сообщений: 1,448
|
![]() Код:
Бесплатная помощь: www.excelworld.ru
Платная помощь: serge_007.planetaexcel@mail.ru https://yoomoney.ru: 41001419691823 |
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Это функция, которая получает строку и возвращает число (или 0, если не находит). Пользоваться, например, так:
Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
#17 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
![]()
Серж, я как раз хотел от этого уйти! Но главное - уйти от вызова двух методов каждый раз: .test и .Execute. Это ж почти двойная работа
![]()
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как из ячейки содержащей текст и число извлечь только число? | АННА-ЕАО | 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 |