Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Текст по столбцам и разделитель, состоящий из двух символов / 10 сообщений из 10, страница 1 из 1
06.10.2016, 09:27
    #39321603
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Всем доброго дня. Есть текст в ячейках, его необходимо разбить на столбцы.

т1/ тест/ тест1т1/ тест/ тест4т1/ тест/ тест5 (12/34)т1/ тест/ тест10т1/ тест/ тест11т1/ тест/ тест12 (12/67)т1/ тест/ тест13т1/ тест/ тест16

Делаю Текст по столбцам, указываю разделитель другой, выбираю /. В итоге он бьет так:

т1 тест тест1 т1 тест тест4 т1 тест тест5 (12 34)т1 тест тест10 т1 тест тест11 т1 тест тест12 (12 67)т1 тест тест13 т1 тест тест16

Это неправильно, т.к. бить надо по двум символам одновременно (слэш и пробел) (/ ), чтобы дробные значения не делились. Как это указать в параметрах? У меня получается только один символ ввести. Заранее спасибо.
...
Рейтинг: 0 / 0
06.10.2016, 10:53
    #39321707
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Сперва замени "/ " на "/", а потом руби на поля.
...
Рейтинг: 0 / 0
06.10.2016, 22:22
    #39322332
Bobgos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Настенька,
можно пробовать в vba - функция split
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Dim sSource As String, ii As Integer
Dim rS As Range, rT As Range, vT As Variant
For ii = 1 To 3
    Set rS = ActiveSheet.Cells(ii, 1)
    sSource = VBA.CStr(rS):
    vT = VBA.split(sSource, "/ ")
    Set rT = Range(Cells(ii, 2).Address & ":" & Cells(ii, 1 + UBound(vT, 1) + 1).Address)
    rT = vT
Next ii
Set rS = Nothing
Set rT = Nothing

Пример в прикрепленном файле.
...
Рейтинг: 0 / 0
07.10.2016, 07:11
    #39322386
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Спасибо за функцию split - про нее я знаю.
А без функции это сделать нельзя? С помощью текста по столбцам?
Там можно, как в функции split указать в качестве разделителя 2 символа?
...
Рейтинг: 0 / 0
07.10.2016, 08:22
    #39322412
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Настенька,
замените сначала /(пробел) на какой-то символ, которого точно нет в данных, к примеру @, и потом его используйте как разделитель
...
Рейтинг: 0 / 0
07.10.2016, 13:01
    #39322717
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Настенька , ну лентяйка, блин... запусти запись макроса, выполни "Текст по столбцам" со своим разделителем, останови запись и посмотри код. Увидишь, что разделение выполняется методом TextToColumns, а параметр "своего" разделителя имеет фамилию OtherChar. По поводу коего вполне вменяемо написано, что ежели там указать более одного символа, то будет использован первый, а "хвост" - грубо проигнорирован. Потому и форма мастера не принимает более одного символа, и не объедешь ты дизайн метода на кривой козе.
Надо два? пиши свой обработчик, и точка. Или ищи обходные пути.
...
Рейтинг: 0 / 0
07.10.2016, 17:14
    #39322969
Volodshan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Однако - "бить надо по двум символам одновременно (слэш и пробел) (/ )". Если в лоб, то целесообразно (/ ) заменить на (^) и по этой "крыше" делить. Как вариант... ;)
...
Рейтинг: 0 / 0
08.10.2016, 08:45
    #39323161
Bobgos
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Volodshan,
Если в лоб, то целесообразно использовать split(text, "/ ") сразу по двум символам.
Прверено _ , пример кода выше работает.

Осталось:
Записать как функцю листа с аргументами_ адресом вход. диапазона и номером возращаемого элемента рзделенного массива. и пользоваться так же как формулой.
Хотя проще один раз запустить макрос в нужном диапазоне.

Настенька, формулу без vba сочинили?
...
Рейтинг: 0 / 0
13.10.2016, 10:02
    #39325948
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
авторНастенька, формулу без vba сочинили?

Нет, в итоге била с помощью макроса функцией Split.

Ну не понимаю, почему функция Split принимает в качестве разделителя один и более символов, а ТекстПоСтолбцам - только один.
Куда разаботчики Microsoft смотрят???
...
Рейтинг: 0 / 0
13.10.2016, 19:04
    #39326588
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Текст по столбцам и разделитель, состоящий из двух символов
Настенькапочему функция Split принимает в качестве разделителя один и более символов, а ТекстПоСтолбцам - только один.
Потому что у них принципиально различное назначение.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Текст по столбцам и разделитель, состоящий из двух символов / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]