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

Вход

Регистрация

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

 

= Мир MS Excel/Разделение текста. - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделение текста. (Формулы/Formulas)
Разделение текста.
ilikeread Дата: Четверг, 06.10.2016, 10:36 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
День добрый.
Возможно ли разделить текст? (см приложенный файл)
формула или макрос не важно.
Поиском по форуму нашёл похожие темы , но там тексты с разными разделительными символами.
у меня же нет таких символов, единственно есть нумерация римскими цифрами и арабскими.
но как это прикрутить для разделения не знаю.
К сообщению приложен файл: 4245794.xlsm(13Kb)
 
Ответить
СообщениеДень добрый.
Возможно ли разделить текст? (см приложенный файл)
формула или макрос не важно.
Поиском по форуму нашёл похожие темы , но там тексты с разными разделительными символами.
у меня же нет таких символов, единственно есть нумерация римскими цифрами и арабскими.
но как это прикрутить для разделения не знаю.

Автор - ilikeread
Дата добавления - 06.10.2016 в 10:36
buchlotnik Дата: Четверг, 06.10.2016, 11:42 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Вариант на регулярках: [vba]
Код
Function rep(t$, i <img rel="usm" src="/sml2/wacko.gif" border="0" align="absmiddle" alt="%)" />
    Dim s$
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\s([0-9IVX]+\.)"
        s = .Replace(t, "@$1")
        s = "@" & s
        .Pattern = "@[^@]+"
        s = .Execute(s)(i)
        s = Replace(s, "@", "")
        rep = s
    End With
End Function
[/vba]
К сообщению приложен файл: 4743301.xlsm(28Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Четверг, 06.10.2016, 11:57
 
Ответить
СообщениеВариант на регулярках: [vba]
Код
Function rep(t$, i <img rel="usm" src="/sml2/wacko.gif" border="0" align="absmiddle" alt="%)" />
    Dim s$
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\s([0-9IVX]+\.)"
        s = .Replace(t, "@$1")
        s = "@" & s
        .Pattern = "@[^@]+"
        s = .Execute(s)(i)
        s = Replace(s, "@", "")
        rep = s
    End With
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 06.10.2016 в 11:42
Pelena Дата: Четверг, 06.10.2016, 12:01 | Сообщение № 3
Группа: Модераторы
Ранг: Экселист
Сообщений: 9856
Репутация: 2254 ±
Замечаний: 0% ±

Excel 2010 & Mac Excel 2011
А я перекинула в Word, там сделала несколько замен с помощью подстановочных знаков, а потом обратно в Excel
К сообщению приложен файл: 4685994.xlsm(22Kb) · 1259680.docx(21Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеА я перекинула в Word, там сделала несколько замен с помощью подстановочных знаков, а потом обратно в Excel

Автор - Pelena
Дата добавления - 06.10.2016 в 12:01
buchlotnik Дата: Четверг, 06.10.2016, 12:12 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
А я перекинула в Word
прикол - я поступил также, собственно, паттерн для функции изначально в Word-е и написал
UPD
вот так поточнее будет: [vba]
Код
Function rep(t$, i%)
    Dim s$
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\.(\d+)"
        s = .Replace(t, ",$1")
        .Pattern = "\s(([0-9]+|[IVX]+)\.)"
        s = .Replace(s, "@$1")
        s = "@" & s
        .Pattern = "@[^@]+"
        s = .Execute(s)(i)
        s = Replace(s, "@", "")
        rep = s
    End With
End Function
[/vba]
К сообщению приложен файл: 6297050.docx(20Kb) · 7655013.xlsm(28Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Четверг, 06.10.2016, 13:21
 
Ответить
Сообщение
Цитата
А я перекинула в Word
прикол - я поступил также, собственно, паттерн для функции изначально в Word-е и написал
UPD
вот так поточнее будет: [vba]
Код
Function rep(t$, i%)
    Dim s$
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "\.(\d+)"
        s = .Replace(t, ",$1")
        .Pattern = "\s(([0-9]+|[IVX]+)\.)"
        s = .Replace(s, "@$1")
        s = "@" & s
        .Pattern = "@[^@]+"
        s = .Execute(s)(i)
        s = Replace(s, "@", "")
        rep = s
    End With
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 06.10.2016 в 12:12
ilikeread Дата: Четверг, 06.10.2016, 13:29 | Сообщение № 5
Группа: Пользователи
Ранг: Участник
Сообщений: 56
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, Pelena, спасибо большое

Pelena, а можно поподробнее про Word (...там сделала несколько замен с помощью подстановочных знаков...)

buchlotnik, ...Вариант на регулярках:... не всё корректно разделил, но 99,9% работы выполнил

Что – ^0032([0-9IVX]@.)
На что - ^p\1
Это в найти-заменить нужно вставлять? попробовал не получилось.

UPD второй вариант отработал 100%
теперь задача понять и осознать как это работает


Сообщение отредактировал ilikeread - Четверг, 06.10.2016, 13:31
 
Ответить
Сообщениеbuchlotnik, Pelena, спасибо большое

Pelena, а можно поподробнее про Word (...там сделала несколько замен с помощью подстановочных знаков...)

buchlotnik, ...Вариант на регулярках:... не всё корректно разделил, но 99,9% работы выполнил

Что – ^0032([0-9IVX]@.)
На что - ^p\1
Это в найти-заменить нужно вставлять? попробовал не получилось.

UPD второй вариант отработал 100%
теперь задача понять и осознать как это работает

Автор - ilikeread
Дата добавления - 06.10.2016 в 13:29
buchlotnik Дата: Четверг, 06.10.2016, 13:43 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
Цитата
попробовал не получилось
нужно включить подстановочные знаки (wildcards)

К сообщению приложен файл: 2477079.jpg(49Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru


Сообщение отредактировал buchlotnik - Четверг, 06.10.2016, 13:45
 
Ответить
Сообщение
Цитата
попробовал не получилось
нужно включить подстановочные знаки (wildcards)


Автор - buchlotnik
Дата добавления - 06.10.2016 в 13:43
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Разделение текста. (Формулы/Formulas)
Страница 1 из 11
Поиск:

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