Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Поговорим про RegExp? - Страница 6 - Мир MS Excel

Старая форма входа
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поговорим про RegExp? (Подготовка для топика FAQ по RegExp в Готовых решениях)
Поговорим про RegExp?
KuklP Дата: Воскресенье, 18.12.2011, 21:45 | Сообщение № 101
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Мож и знаю:
[vba]
Код
Sub WDAppTrim()
       If Not (Selection.Type = wdSelectionNormal) Then Beep: Exit Sub
       Dim i As Integer, s$
       Selection.Text = Trim(Selection.Text)
       With Selection.Find
           s = ".;:!,"
           For i = 1 To Len(s)
               .Execute "^w" & Mid(s, i, 1), , , , , , , , , Mid(s, i, 1) & " ", 2
           Next
           .Execute "^p^w", , , , , , , , , "^p", 2
           .Execute "^w^p", , , , , , , , , "^p", 2
           .Execute "^w", , , , , , , , , " ", 2
           .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
       End With
End Sub
[/vba]
Другие знаки по вкусу добавите. 10 лет назад писал под Ворд, забыл все начисто.
П.С. Нам модеры за оффтоп по соплям не надают?


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 18.12.2011, 22:14
 
Ответить
СообщениеМож и знаю:
[vba]
Код
Sub WDAppTrim()
       If Not (Selection.Type = wdSelectionNormal) Then Beep: Exit Sub
       Dim i As Integer, s$
       Selection.Text = Trim(Selection.Text)
       With Selection.Find
           s = ".;:!,"
           For i = 1 To Len(s)
               .Execute "^w" & Mid(s, i, 1), , , , , , , , , Mid(s, i, 1) & " ", 2
           Next
           .Execute "^p^w", , , , , , , , , "^p", 2
           .Execute "^w^p", , , , , , , , , "^p", 2
           .Execute "^w", , , , , , , , , " ", 2
           .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
       End With
End Sub
[/vba]
Другие знаки по вкусу добавите. 10 лет назад писал под Ворд, забыл все начисто.
П.С. Нам модеры за оффтоп по соплям не надают?

Автор - KuklP
Дата добавления - 18.12.2011 в 21:45
Serge_007 Дата: Воскресенье, 18.12.2011, 21:53 | Сообщение № 102
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (KuklP)
Нам модеры за оффтом по соплям не надают?

Нет. Оффтоп оффтопу рознь.


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (KuklP)
Нам модеры за оффтом по соплям не надают?

Нет. Оффтоп оффтопу рознь.

Автор - Serge_007
Дата добавления - 18.12.2011 в 21:53
VictorM Дата: Воскресенье, 18.12.2011, 22:05 | Сообщение № 103
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 161
Репутация: 27 ±
Замечаний: 0% ±

Quote
Но по мне лучше так:

Quote
Мож и знаю:

Вот это круто!
Давно хотел что-то такое иметь в хозяйстве.
Иногда попадаются ТАКИЕ документы Word, что хочется плакать))
СПАСИБО!


Сообщение отредактировал VictorM - Воскресенье, 18.12.2011, 22:11
 
Ответить
Сообщение
Quote
Но по мне лучше так:

Quote
Мож и знаю:

Вот это круто!
Давно хотел что-то такое иметь в хозяйстве.
Иногда попадаются ТАКИЕ документы Word, что хочется плакать))
СПАСИБО!

Автор - VictorM
Дата добавления - 18.12.2011 в 22:05
Alex_ST Дата: Воскресенье, 18.12.2011, 22:25 | Сообщение № 104
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (KuklP)
.Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
Серёга, а что это у тебя кракозябры вместо кириллицы? Ты же сам научил меня бороться с ними?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (KuklP)
.Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
Серёга, а что это у тебя кракозябры вместо кириллицы? Ты же сам научил меня бороться с ними?

Автор - Alex_ST
Дата добавления - 18.12.2011 в 22:25
Alex_ST Дата: Воскресенье, 18.12.2011, 22:28 | Сообщение № 105
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
По поводу псевдо-оффтопа: Серж, прости! Завтра всё потестирую на разных документах, дополирую в меру способностей и в специальную ветку положу. (Серёга же оформлять жуть как не любит:) )



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Воскресенье, 18.12.2011, 22:29
 
Ответить
СообщениеПо поводу псевдо-оффтопа: Серж, прости! Завтра всё потестирую на разных документах, дополирую в меру способностей и в специальную ветку положу. (Серёга же оформлять жуть как не любит:) )

Автор - Alex_ST
Дата добавления - 18.12.2011 в 22:28
Alex_ST Дата: Воскресенье, 18.12.2011, 22:32 | Сообщение № 106
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (VictorM)
Иногда попадаются ТАКИЕ документы Word, что хочется плакать

Да с того и начался маленький оффтопчик, что я в Excel'e-то научился за "знатоками" "оформление" текста в ячейках пробелами удалять, а в Ворде - нет. Завтра потестирую Серёгин код! Вот будет кайф документы причёсывать!



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (VictorM)
Иногда попадаются ТАКИЕ документы Word, что хочется плакать

Да с того и начался маленький оффтопчик, что я в Excel'e-то научился за "знатоками" "оформление" текста в ячейках пробелами удалять, а в Ворде - нет. Завтра потестирую Серёгин код! Вот будет кайф документы причёсывать!

Автор - Alex_ST
Дата добавления - 18.12.2011 в 22:32
Alex_ST Дата: Воскресенье, 18.12.2011, 22:34 | Сообщение № 107
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (KuklP)
Selection.Text = Trim(Selection.Text)

Что-то меня это смущает... Кажется, я так пробовал и выяснил, что ломается форматирование абзацев...



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (KuklP)
Selection.Text = Trim(Selection.Text)

Что-то меня это смущает... Кажется, я так пробовал и выяснил, что ломается форматирование абзацев...

Автор - Alex_ST
Дата добавления - 18.12.2011 в 22:34
v__step Дата: Понедельник, 19.12.2011, 02:09 | Сообщение № 108
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Я не закончил свою часть, но работать с этим, скорее всего, уже можно
К сообщению приложен файл: RegExp18_12_11.rar (97.0 Kb)


С уважением, Владимир
 
Ответить
СообщениеЯ не закончил свою часть, но работать с этим, скорее всего, уже можно

Автор - v__step
Дата добавления - 19.12.2011 в 02:09
KuklP Дата: Понедельник, 19.12.2011, 07:57 | Сообщение № 109
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Quote (Alex_ST)
Серёга, а что это у тебя кракозябры вместо кириллицы?
Леша, это не кракозябры. Это буквы украинского языка:-)
По теме топика, случайно наткнулся:
http://ru.wikipedia.org/wiki/Регулярные_выражения
http://www.script-coding.com/WSH/RegExp.html
И утилитка для тестирования:
http://gskinner.com/blog/archives/2008/03/regexr_free_onl.html
http://gskinner.com/RegExr/


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 19.12.2011, 08:10
 
Ответить
Сообщение
Quote (Alex_ST)
Серёга, а что это у тебя кракозябры вместо кириллицы?
Леша, это не кракозябры. Это буквы украинского языка:-)
По теме топика, случайно наткнулся:
http://ru.wikipedia.org/wiki/Регулярные_выражения
http://www.script-coding.com/WSH/RegExp.html
И утилитка для тестирования:
http://gskinner.com/blog/archives/2008/03/regexr_free_onl.html
http://gskinner.com/RegExr/

Автор - KuklP
Дата добавления - 19.12.2011 в 07:57
Alex_ST Дата: Понедельник, 19.12.2011, 08:23 | Сообщение № 110
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (KuklP)
Леша, это не кракозябры. Это буквы украинского языка:-)

Извини, Серёга, shy
Я сам это понял ещё вчера, но только уже когда комп загасил и спать улёгся...
Просто и-нет настолько сближает, что забываешь, что товарищ может находиться не рядом, а в другой стране с другим языком...
Ссылки сейчас посмотрю. Спасибо.
Правда, ссылка на script-coding у меня в каждом из примеров в ячейке А1, но остальные пока не видел.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (KuklP)
Леша, это не кракозябры. Это буквы украинского языка:-)

Извини, Серёга, shy
Я сам это понял ещё вчера, но только уже когда комп загасил и спать улёгся...
Просто и-нет настолько сближает, что забываешь, что товарищ может находиться не рядом, а в другой стране с другим языком...
Ссылки сейчас посмотрю. Спасибо.
Правда, ссылка на script-coding у меня в каждом из примеров в ячейке А1, но остальные пока не видел.

Автор - Alex_ST
Дата добавления - 19.12.2011 в 08:23
Alex_ST Дата: Понедельник, 19.12.2011, 09:42 | Сообщение № 111
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Первые результаты тестирования:
1. Как я и предполагал, Selection.Text = Trim(Selection.Text) калечит формат абзаца sad

2 Ни в какой Справке не нашёл разбора задания параметров для Execute текстовой строкой sad
Поэтому что означает "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2 понять не могу... А пользоваться тем, что не понимаю как работает, ужасно не люблю...

Серёга, ну хоть краткие комменты к коду напиши:[vba]
Код
      .Execute "^p^w", , , , , , , , , "^p", 2
         .Execute "^w^p", , , , , , , , , "^p", 2
         .Execute "^w", , , , , , , , , " ", 2
         .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
[/vba]

Сам разобрался.
И неожиданно "наступил на грабли", о которых предупреждал Володя: ВДРУГ перестало работать ^w
С утра всё работало отлично, а теперь вдруг стало выдавать Run-time error '5692'
А когда заменяю ^w на [ ]{2;} всё начинает работать нормально
К сообщению приложен файл: 7008234.jpg (11.2 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 19.12.2011, 11:47
 
Ответить
СообщениеПервые результаты тестирования:
1. Как я и предполагал, Selection.Text = Trim(Selection.Text) калечит формат абзаца sad

2 Ни в какой Справке не нашёл разбора задания параметров для Execute текстовой строкой sad
Поэтому что означает "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2 понять не могу... А пользоваться тем, что не понимаю как работает, ужасно не люблю...

Серёга, ну хоть краткие комменты к коду напиши:[vba]
Код
      .Execute "^p^w", , , , , , , , , "^p", 2
         .Execute "^w^p", , , , , , , , , "^p", 2
         .Execute "^w", , , , , , , , , " ", 2
         .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
[/vba]

Сам разобрался.
И неожиданно "наступил на грабли", о которых предупреждал Володя: ВДРУГ перестало работать ^w
С утра всё работало отлично, а теперь вдруг стало выдавать Run-time error '5692'
А когда заменяю ^w на [ ]{2;} всё начинает работать нормально

Автор - Alex_ST
Дата добавления - 19.12.2011 в 09:42
Alex_ST Дата: Понедельник, 19.12.2011, 10:54 | Сообщение № 112
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Нашёл ВЕЛИКОЛЕПНУЮ статью
Специальные символы и подстановочные знаки в операциях поиска и замены Microsoft Word 97
Даже сохранил её себе локально (чуть подредактировал: в заголовке теперь ссылка на первоисточник).
К сообщению приложен файл: Metasymbols_for.zip (18.4 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеНашёл ВЕЛИКОЛЕПНУЮ статью
Специальные символы и подстановочные знаки в операциях поиска и замены Microsoft Word 97
Даже сохранил её себе локально (чуть подредактировал: в заголовке теперь ссылка на первоисточник).

Автор - Alex_ST
Дата добавления - 19.12.2011 в 10:54
KuklP Дата: Понедельник, 19.12.2011, 12:04 | Сообщение № 113
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Так комменты уже не надо? Ну На всякий:
[vba]
Код
               .Execute "^p^w", , , , , , , , , "^p", 2 ' убирает пробелы после знака прараграф
                  .Execute "^w^p", , , , , , , , , "^p", 2 ' убирает пробелы до знака прараграф
                  .Execute "^w", , , , , , , , , " ", 2 'множественные пробелы на один
                  .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
                  ' если предложение тупо раделено параграфом, меняет параграф на пробел
[/vba]
Цитата
ВДРУГ перестало работать ^w…

Мож ты с форматом накосячил? Попробуй:
[vba]
Код
.Execute "^w", , , , , , , , 0, " ", 2
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТак комменты уже не надо? Ну На всякий:
[vba]
Код
               .Execute "^p^w", , , , , , , , , "^p", 2 ' убирает пробелы после знака прараграф
                  .Execute "^w^p", , , , , , , , , "^p", 2 ' убирает пробелы до знака прараграф
                  .Execute "^w", , , , , , , , , " ", 2 'множественные пробелы на один
                  .Execute "([а-я,ієї0-9)])^0013([!А-ЯІЄЇ])", , , , , , , , , "\1 \2", 2
                  ' если предложение тупо раделено параграфом, меняет параграф на пробел
[/vba]
Цитата
ВДРУГ перестало работать ^w…

Мож ты с форматом накосячил? Попробуй:
[vba]
Код
.Execute "^w", , , , , , , , 0, " ", 2
[/vba]

Автор - KuklP
Дата добавления - 19.12.2011 в 12:04
Alex_ST Дата: Понедельник, 19.12.2011, 12:52 | Сообщение № 114
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (KuklP)
Мож ты с форматом накосячил?

То-то и оно, что это я проверил в первую очередь...
[vba]
Код
Sub WDAppTrim(): Selection.Find.Execute "^w", , , , , , , , , " ", 2: End Sub
[/vba]
даёт ошибку. А после тупой замены "^w" на "[ ]{2;}"
[vba]
Код
Sub WDAppTrim2(): Selection.Find.Execute "[ ]{2;}", , , , , , , , , " ", 2: End Sub
[/vba] начинает работать angry

При этом самое странное, что вчера вечером дома и здесь на работе с утра работало. А потом вдруг перестало! Ворд я на всякий случай перегружал. Комп - нет...

Можно было бы и плюнуть, конечно, но, я так понял, что "^w" в отличие от "[ ]{2;}" отлавливает ещё и неразрывные пробелы и в любом порядке смеси с обычными... А это сильно облегчило бы жизнь.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 19.12.2011, 12:55
 
Ответить
Сообщение
Цитата (KuklP)
Мож ты с форматом накосячил?

То-то и оно, что это я проверил в первую очередь...
[vba]
Код
Sub WDAppTrim(): Selection.Find.Execute "^w", , , , , , , , , " ", 2: End Sub
[/vba]
даёт ошибку. А после тупой замены "^w" на "[ ]{2;}"
[vba]
Код
Sub WDAppTrim2(): Selection.Find.Execute "[ ]{2;}", , , , , , , , , " ", 2: End Sub
[/vba] начинает работать angry

При этом самое странное, что вчера вечером дома и здесь на работе с утра работало. А потом вдруг перестало! Ворд я на всякий случай перегружал. Комп - нет...

Можно было бы и плюнуть, конечно, но, я так понял, что "^w" в отличие от "[ ]{2;}" отлавливает ещё и неразрывные пробелы и в любом порядке смеси с обычными... А это сильно облегчило бы жизнь.

Автор - Alex_ST
Дата добавления - 19.12.2011 в 12:52
KuklP Дата: Понедельник, 19.12.2011, 13:46 | Сообщение № 115
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Леш, а попробуй ручками, как на картинке. И убедись, что у тебя галка "Подстановочные знаки" не стоит.
В коде это так:
[vba]
Код
.Execute "^w", , , 0, , , , , 0, " ", 2
[/vba]
К сообщению приложен файл: 6578282.gif (30.5 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Понедельник, 19.12.2011, 13:47
 
Ответить
СообщениеЛеш, а попробуй ручками, как на картинке. И убедись, что у тебя галка "Подстановочные знаки" не стоит.
В коде это так:
[vba]
Код
.Execute "^w", , , 0, , , , , 0, " ", 2
[/vba]

Автор - KuklP
Дата добавления - 19.12.2011 в 13:46
Alex_ST Дата: Понедельник, 19.12.2011, 13:54 | Сообщение № 116
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Во! Так заработало!
Значит, нельзя доверять установкам гулек по умолчанию!
И, к стати, поэтому я не очень люблю запись аргументов по перечислению (через запятую).
Хоть код получается и намного короче, но читабельность его при большом числе аргументов снижается катастрофически.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВо! Так заработало!
Значит, нельзя доверять установкам гулек по умолчанию!
И, к стати, поэтому я не очень люблю запись аргументов по перечислению (через запятую).
Хоть код получается и намного короче, но читабельность его при большом числе аргументов снижается катастрофически.

Автор - Alex_ST
Дата добавления - 19.12.2011 в 13:54
KuklP Дата: Понедельник, 19.12.2011, 14:02 | Сообщение № 117
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
А я наоборот. От нагромождения констант только путаюсь. Если хотца узнать параметры, поставь еще пробел после любой запятой и стрелками передвигайся по параметрам. См. скрин.
К сообщению приложен файл: 9504490.gif (7.6 Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеА я наоборот. От нагромождения констант только путаюсь. Если хотца узнать параметры, поставь еще пробел после любой запятой и стрелками передвигайся по параметрам. См. скрин.

Автор - KuklP
Дата добавления - 19.12.2011 в 14:02
Alex_ST Дата: Понедельник, 19.12.2011, 14:19 | Сообщение № 118
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Во, блин! На счёт пробела я не знал... Ставил открывающую скобку перед списком аргументов. А её потом ещё и убирать нужно было...
Так как ты подсказал, проще - меньше мышкодвижений.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВо, блин! На счёт пробела я не знал... Ставил открывающую скобку перед списком аргументов. А её потом ещё и убирать нужно было...
Так как ты подсказал, проще - меньше мышкодвижений.

Автор - Alex_ST
Дата добавления - 19.12.2011 в 14:19
Alex_ST Дата: Понедельник, 19.12.2011, 15:16 | Сообщение № 119
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Володя,
в своём тестере в Public Sub HighlightMatches() раскомментируй строку [vba]
Код
.ColorIndex = 41
[/vba] а то не красится. Да и [vba]
Код
Application.ScreenUpdating = False - … - Application.ScreenUpdating = True
[/vba] не плохо было бы поставить.

И ещё: может быть лучше для наглядности вывода перечислять Matches на через ";", а через "|" ?
Или вообще, как мы с тобой говорили раньше, не задавать жёстко [vba]
Код
Optional Разделитель As String = ";"
[/vba], а задать его значение в текстбоксе, ячейке или имени?

И в метасимволах надо подправить: "\s - любой пробельный символ кроме неразрывных пробелов, включая табуляцию, перевод строки, возврат каретки, перевод страницы. Эквивалентно [ \f\n\r\t\v]
\S - любые ВИДИМЫЕ символы и неразрывные пробелы (любой непробельный символ). Эквивалентно [^ \f\n\r\t\v]"

А чтобы пробелы было видно в ячейках столбца С листа Matches, удобно применить УФ по условию <>"" - светло-какой-нибудь.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Понедельник, 19.12.2011, 15:37
 
Ответить
СообщениеВолодя,
в своём тестере в Public Sub HighlightMatches() раскомментируй строку [vba]
Код
.ColorIndex = 41
[/vba] а то не красится. Да и [vba]
Код
Application.ScreenUpdating = False - … - Application.ScreenUpdating = True
[/vba] не плохо было бы поставить.

И ещё: может быть лучше для наглядности вывода перечислять Matches на через ";", а через "|" ?
Или вообще, как мы с тобой говорили раньше, не задавать жёстко [vba]
Код
Optional Разделитель As String = ";"
[/vba], а задать его значение в текстбоксе, ячейке или имени?

И в метасимволах надо подправить: "\s - любой пробельный символ кроме неразрывных пробелов, включая табуляцию, перевод строки, возврат каретки, перевод страницы. Эквивалентно [ \f\n\r\t\v]
\S - любые ВИДИМЫЕ символы и неразрывные пробелы (любой непробельный символ). Эквивалентно [^ \f\n\r\t\v]"

А чтобы пробелы было видно в ячейках столбца С листа Matches, удобно применить УФ по условию <>"" - светло-какой-нибудь.

Автор - Alex_ST
Дата добавления - 19.12.2011 в 15:16
v__step Дата: Вторник, 20.12.2011, 01:39 | Сообщение № 120
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

До VBA не добрался, но добавил примеры и отредактировал текст на листе "Метасимволы+" (в т.ч. протестировал восьмеричные, шестнадцатиричные и юни коды, и оставил только то, что работает)
Cейчас это важнее

С утра проверил и добавил фразы о нераразрывных пробелах
К сообщению приложен файл: _RegExp_19_12_1.zip (69.8 Kb)


С уважением, Владимир

Сообщение отредактировал v__step - Вторник, 20.12.2011, 10:04
 
Ответить
СообщениеДо VBA не добрался, но добавил примеры и отредактировал текст на листе "Метасимволы+" (в т.ч. протестировал восьмеричные, шестнадцатиричные и юни коды, и оставил только то, что работает)
Cейчас это важнее

С утра проверил и добавил фразы о нераразрывных пробелах

Автор - v__step
Дата добавления - 20.12.2011 в 01:39
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Поговорим про RegExp? (Подготовка для топика FAQ по RegExp в Готовых решениях)
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!