Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 20:12   #1
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию Текст в ячейке - по строкам

Здравствуйте, Уважаемые!
Прошу подсказать.
Есть текстовые строки в ячейке, разделитель - точка с запятой.
Нужно разбить этот текст, но заминка у меня произошла в том, что мне нужно это сделать ПО СТРОКАМ.
Пробовал штатные средства: текст по столбцам+транспонирование. Получается, но что-то уж очень оно коряво выглядит. Посмотрел темы на форуме - ничего не нашел подходящего.
Более наглядно все это видно в файле.
Спасибо.
Вложения
Тип файла: zip текст в ячейке по строкам.zip (9.5 Кб, 30 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.03.2012, 20:54   #2
shanemac51
Участник клуба
 
Аватар для shanemac51
 
Регистрация: 12.08.2010
Сообщений: 1,077
По умолчанию

Код:
''  примерно так-------------------------------
Sub Макрос120322b()
Dim j1, j1a, j2, j3
Dim s1, s2
Dim xm
j1 = 11
j1a = 0
Do While j1 < 250
j1 = j1 + 1
'''''''''''''''''''''''''не во всех строках нет точки с запятой
'''''''''''''''''''''''''добавка псевдо-элемента
s1 = "" & Cells(j1, 1) & ";*"
If Len(s1) > 1 Then
xm = Split(s1, ";")
j2 = LBound(xm, 1)
j3 = UBound(xm, 1)
Do While j2 < j3
If xm(j2) <> "*" Then
j1a = j1a + 1
Cells(j1a, 3).Value = xm(j2)
End If
j2 = j2 + 1
Loop
End If
Loop
End Sub
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание
shanemac51 вне форума Ответить с цитированием
Старый 22.03.2012, 22:17   #3
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Да, работает, спасибо!.
Правда мне нужно только для одной ячейки, образцы строк я сделал просто для того чтобы показать, какие они могут быть.
Попробую подогнать сейчас для одной ячейки.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.03.2012, 22:33   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Sub bb()
Dim v
v = Split(Join(Application.Transpose(Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value), "; "), "; ")
[C1].Resize(UBound(v) + 1) = Application.Transpose(v)
End Sub
Строки не длиннее 255 (ограничение функции ТРАНСП).
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 22.03.2012, 22:53   #5
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Для одной ячейки проще:
Код:
Sub bb1()
Dim v
v = Split([A1], "; ")
[C1].Resize(UBound(v) + 1) = Application.Transpose(v)
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 22.03.2012, 23:06   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Казанский да, как всегда - круто!
Теперь вот пробую сделать для одной единственной ячейки.
мне нужно поместить содержимое ячейки в переменную и затем вставить получившиеся отдельные названия в ту же ячейку (первую фразу) и остальные ниже.
Что-то я уже сам себя не понимаю))
лучше еще файлик приложу
Вложения
Тип файла: zip пример-текст в ячейке по строкам.zip (8.7 Кб, 16 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.03.2012, 23:09   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Для одной ячейки проще:
Пока писал свое сообщение, Вы уже ответили на мой вопрос)
Дальше я уже сам.
Большое спасибо за помощь!
p.s.
Все сделал.
Почему-то не могу добавить Вам плюсик к репутации.
Еще раз - большое спасибо!
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 22.03.2012 в 23:29.
VictorM вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текст и формула в ячейке Kuzia1528 Microsoft Office Excel 32 02.06.2016 15:54
Разбить длинный текст по строкам. EA_Kortes Microsoft Office Excel 3 19.02.2015 12:02
текст по строкам внести в одну ячейку user7789 Microsoft Office Excel 14 05.08.2009 11:31
Перенос текст в ячейке DataGrid doober Общие вопросы .NET 0 29.06.2009 12:37
В одной ячейке текст и число Shavminator Microsoft Office Excel 11 27.12.2007 14:32