Страницы: 1
RSS
Из текста ячейки извлечь текст при наличии определенного заголовка
 
Добрый день!
Имеется таблица с заявками, в этой таблице описаны этапы согласования и утверждения с текстовкой кто и во сколько согласовал и утвердил, из ячеек этой таблицы необходимо по условию наличия определенного заголовка извлечь текстю
Текст из ячейки №1: На утверждении до 20.12 16:00 Согл. сост. раб.12.12 16:30 ПЧ-25 НОВЫЙ УОЯН В-СИБ ДИ13.12 11:09 График16.12 09:01 ДС ГОРЯЧИЙ КЛЮЧ В-СИБдо20.12 11:00 ДС ИТЫКИТ В-СИБ16.12 09:01 ЭЧ-11 В-СИБ16.12 09:01
Тут искомый заголовок "На утверждении", нужно найти у кого на утверждении. Текст для поиска по которому можно ориентироваться "В-СИБдо". Текст который нужно получит "ДС ГОРЯЧИЙ КЛЮЧ В-СИБдо20.12 11:00"

Текст из ячейки №2: На согласовании причастными Согл. сост. раб.17.12 07:23 ДС ЗАЛАРИ В-СИБдо17.12 11:00 ДС ТЫРЕТЬ В-СИБдо17.12 11:00 ПЧ-4 ЗИМА В-СИБ ДИ17.12 08:27 ЭЧ-5 В-СИБ17.12 07:24
Тут искомый заголовок "На согласовании причастными", нужно найти у кого на согласовании. Текст для поиска по которому можно ориентироваться "В-СИБдо". Текст который нужно получит "ДС ТЫРЕТЬ В-СИБдо17.12 11:00" и "ДС ЗАЛАРИ В-СИБдо17.12 11:00". Тут таких уже два, а может быть и больше
 
Цитата
Станислав Мерц написал: Имеется таблица с заявками,
Обманываете, нет таблицы )
 
Нашел)
 
UDF
Код
Sub GetFragment()
Dim mo As Object
Dim n As Integer
Dim i As Long
Dim iLastRow As Long
 iLastRow = Cells(Rows.Count, "C").End(xlUp).Row
With CreateObject("VBScript.RegExp")
  .Global = True
  .Pattern = "[А-Я\s]+ В-СИБдо\d{1,2}\.\d{2} \d{2}:\d{2}"
  For i = 1 To iLastRow
    If .Test(Cells(i, 3)) Then
      Set mo = .Execute(Cells(i, 3))
      For n = 0 To mo.Count - 1
        Cells(i, n + 10) = mo(n)
      Next
    End If
  Next
End With
End Sub
 
Спасибо огромное!
Пробую адаптировать код для поиска выражения "ЭЧ-11 В-СИБдо16.12 09:01". Пробую шаблон "[А-Я\s]+\d{1,2} В-СИБдо\d{1,2}\.\d{2} \d{2}:\d{2}". Не получается
И еще, если в тексте помимо поиска с выражением "В-СИБдо" необходимо найти по выражению "В-СИБ ДИдо" текст "ПЧ-4 ЗИМА В-СИБ ДИдо17.12 08:27". Как тут можно сделать?
 
У меня тоже похожая задача есть

Есть наименование продукции, в которую "вшиты" хараектеристики:

Лампа светодиодная LED-A60-deco 9Вт 230В Е27 4000К 810Лм прозрачная IN HOME

Как из него "вытащить" и разнести по ячейкам Мощность (Вт); Напр питания (В); Цоколь Цветовая температура (К); Световой поток (Лм) ???
 
Вопрос отличается. Создайте отдельную тему
 
Иван Почитайте в приемах статью Анализ текста регулярными выражениями (RegExp) в Excel  и думаю вы сами сможете решить вашу задачу. Она у вас не сложная
 
Огромное спасибо Кузьмичу, свой вопрос решил имользуя следующий паттерн
.Pattern = "[А-Я\s]+ В-СИБдо\d{1,2}\.\d{2} \d{2}:\d{2}|ЭЧ-\d{1,2} В-СИБдо\d{1,2}\.\d{2} \d{2}:\d{2}|[А-Я]Ч-\d{1,2} [А-Я\s]+ В-СИБ ДИдо\d{1,2}\.\d{2} \d{2}:\d{2}"
Страницы: 1
Наверх