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

Вход

Регистрация

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

 

= Мир MS Excel/Перед каждой заглавной буквой - перенос строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Перед каждой заглавной буквой - перенос строки
AndAndR Дата: Вторник, 28.05.2013, 14:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Добрый.

1) Есть строки, в одном столбце, на каждой строке идет текст вида: "Тучи угрюмые Ходят кругом И думу думают".
Каким образом можно сделать так, что-бы в ячейке, перед каждой заглавной буквой - ставился перенос строки. Перед первой строкой не нужно, но это уже другая проблема...

2) Смысл такой-же, только в других ячейках, текст вида "1 туча 4 кругов 5 дум".
Здесь тоже нужно сделать перенос на следующую строку, если встречается цифра.


Сообщение отредактировал AndAndR - Вторник, 28.05.2013, 15:01
 
Ответить
СообщениеДобрый.

1) Есть строки, в одном столбце, на каждой строке идет текст вида: "Тучи угрюмые Ходят кругом И думу думают".
Каким образом можно сделать так, что-бы в ячейке, перед каждой заглавной буквой - ставился перенос строки. Перед первой строкой не нужно, но это уже другая проблема...

2) Смысл такой-же, только в других ячейках, текст вида "1 туча 4 кругов 5 дум".
Здесь тоже нужно сделать перенос на следующую строку, если встречается цифра.

Автор - AndAndR
Дата добавления - 28.05.2013 в 14:50
nilem Дата: Вторник, 28.05.2013, 18:42 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
например
[vba]
Код
Sub ert()
Dim r As Range
With CreateObject("vbscript.regexp")
      .Global = True: .Pattern = "[А-Я0-9]"
      For Each r In Range("A1", Cells(Rows.Count, 1).End(xlUp))
          r = Mid(.Replace(r, Chr(10) & "$&"), 2)
      Next r
End With
End Sub
[/vba]

ПС у меня юбилей - 300 сообщений smile


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Вторник, 28.05.2013, 18:43
 
Ответить
Сообщениенапример
[vba]
Код
Sub ert()
Dim r As Range
With CreateObject("vbscript.regexp")
      .Global = True: .Pattern = "[А-Я0-9]"
      For Each r In Range("A1", Cells(Rows.Count, 1).End(xlUp))
          r = Mid(.Replace(r, Chr(10) & "$&"), 2)
      Next r
End With
End Sub
[/vba]

ПС у меня юбилей - 300 сообщений smile

Автор - nilem
Дата добавления - 28.05.2013 в 18:42
Alex_ST Дата: Вторник, 28.05.2013, 20:50 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Цитата (nilem)
.Pattern = "[А-Я0-9]"

Привет, Николай!
Хоть я и не знаток RegExp, но всё-таки и я свой "пятачок" biggrin добавлю:[vba]
Код
.Pattern = "[А-ЯЁ0-9]"
[/vba]



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Цитата (nilem)
.Pattern = "[А-Я0-9]"

Привет, Николай!
Хоть я и не знаток RegExp, но всё-таки и я свой "пятачок" biggrin добавлю:[vba]
Код
.Pattern = "[А-ЯЁ0-9]"
[/vba]

Автор - Alex_ST
Дата добавления - 28.05.2013 в 20:50
Serge_007 Дата: Вторник, 28.05.2013, 21:36 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
[offtop]
Цитата (nilem)
у меня юбилей - 300 сообщений
Поздравляю!
А ещё 100 репутации и 1000 дней на сайте недавно было :)[/offtop]


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение[offtop]
Цитата (nilem)
у меня юбилей - 300 сообщений
Поздравляю!
А ещё 100 репутации и 1000 дней на сайте недавно было :)[/offtop]

Автор - Serge_007
Дата добавления - 28.05.2013 в 21:36
anvg Дата: Среда, 29.05.2013, 04:35 | Сообщение № 5
Группа: Друзья
Ранг: Ветеран
Сообщений: 581
Репутация: 271 ±
Замечаний: 0% ±

2016, 365
Тема - кросс. На мой взгляд, более изящное решение на регулярных выражениях
 
Ответить
СообщениеТема - кросс. На мой взгляд, более изящное решение на регулярных выражениях

Автор - anvg
Дата добавления - 29.05.2013 в 04:35
nilem Дата: Среда, 29.05.2013, 08:59 | Сообщение № 6
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Да, конечно, так лучше: .Pattern = " (?=[А-ЯЁ0-9])" и r = .Replace(r, vbCrLf)
про "Ё" не знал, а с опережающей проверкой - сомневался. Прочь сомненья и больше тренироваться! smile

[offtop]Сергей, спасибо за поздравления!
А сегодня "килобайтовый" юбилей (1024 дня)
[/offtop]
К сообщению приложен файл: 7156431.jpg (25.8 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеДа, конечно, так лучше: .Pattern = " (?=[А-ЯЁ0-9])" и r = .Replace(r, vbCrLf)
про "Ё" не знал, а с опережающей проверкой - сомневался. Прочь сомненья и больше тренироваться! smile

[offtop]Сергей, спасибо за поздравления!
А сегодня "килобайтовый" юбилей (1024 дня)
[/offtop]

Автор - nilem
Дата добавления - 29.05.2013 в 08:59
  • Страница 1 из 1
  • 1
Поиск:

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