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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.10.2009, 20:02   #1
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
Восклицание Перенос текста из файла в Эксел

Планируется делать импорт из текстового файла в Эксел. Данные на каждой строчке должны попасть в соотв. строку.
Но проблема в том, что в текстовом файле данные могут содержать знак переноса строки.
И при попадании в Эксел в ячейке тоже это должно стать в виде текста с переносом строк.

Как это сделать?

Пример текстового файла:

a
b
c Символ переноса d Символ переноса e
f
g

->
В Экселе в соотв. ячейках появляется
A1 ->a
A2 -> b
A3 -> c
d
e
A4->f
A5->g

Т.е. непонятно, как сделать этот символ переноса в файле, чтобы при импорте он воспринимался как символ переноса на др. строку и в Экселе это было соотв. тексту с переносами строк в одной ячейке.
motorway вне форума Ответить с цитированием
Старый 12.10.2009, 23:12   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

На текстовый файл посмотреть можно.проблема решаемая.
Я правильно понял конечный результат
Вложения
Тип файла: rar Текст.rar (5.9 Кб, 37 просмотров)
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 12.10.2009 в 23:20.
doober вне форума Ответить с цитированием
Старый 13.10.2009, 18:35   #3
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Да, нужно было так. Получилось сделать путем добавления в строку в текстовом файле некоторой комбинации символов, которая потом заменялась в Экселе на перенос строки chr(10)
motorway вне форума Ответить с цитированием
Старый 23.12.2009, 05:06   #4
Алекс14
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 21
По умолчанию

Ребята, а можно подробней, как сделать так, чтобы при вставке текста с блокнота excel понимал признаки переноса в тексте.
Алекс14 вне форума Ответить с цитированием
Старый 23.12.2009, 11:48   #5
Алекс14
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 21
По умолчанию

Никто не подскажет?
Изображения
Тип файла: png Untitled-1.png (33.4 Кб, 220 просмотров)
Алекс14 вне форума Ответить с цитированием
Старый 25.12.2009, 06:32   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
чтобы при вставке текста с блокнота excel понимал признаки переноса в тексте.
Excel так и делает. Вопрос не понятен. Прикрепите пример с исходным текстовым файлом и xls файл с желаемым результатом.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 25.12.2009, 20:35   #7
Алекс14
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 21
По умолчанию

Вот собственно:
Вложения
Тип файла: rar Признак переноса.rar (1.6 Кб, 25 просмотров)
Алекс14 вне форума Ответить с цитированием
Старый 26.12.2009, 05:36   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Все равно, не понятно.
Цитата:
чтобы при вставке текста с блокнота excel понимал признаки переноса в тексте.
Что значит перенос в тексте? Переход на новую строку? Тогда чем разделять текст по ячейкам? Не хочу сам угадывать то, что Вам нужно. Я просил не только требуемый результат в xls-файле, но и исходный txt-файл, из которого нужно это получить.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 26.12.2009, 22:41   #9
Алекс14
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 21
По умолчанию

Есть текстовый файл, пример:

здесь текст
вторая строка текста
третья строка текста

следующий текст
вторая строка текста
третья строка текста

и еще один текст
вторая строка текста
третья строка текста

Весь текст я копирую (9 строчек текста с пробелами) и
вставляю в excel. Excel расставляет каждую строку текста в отдельную ячейку.
Но мне нужно, чтобы каждые три строки текста попадали в одну ячейку и т.д.

Надеюсь доступно объяснил.

P.S. Метод Аlt enter для переноса внутри ячейки можно применить, но для большого объема текста это не реально.
Алекс14 вне форума Ответить с цитированием
Старый 26.12.2009, 23:44   #10
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Алекс14.
если действительно существует признак разделения групп (в примере это пустая строка), выполнение "Аlt enter для переноса внутри ячейки" можно "поручить" подобной процедуре:
Код:
Sub joinCells()
Const sSel = "^", sR = "|"
Dim s, sArr() As String
For i = 1 To lastRow
    s = s + sSel + Trim(Cells(i, 1).Text)
Next
s = Replace(s, sSel + sSel, sR + sR)
s = Replace(Mid(s, 2), sSel, Chr(10))
sArr = Split(s, sR)
For i = 0 To UBound(sArr)
    Cells(i + 1, 2) = sArr(i)
Next
End Sub
Function lastRow() As Long
With ActiveSheet.UsedRange
    lastRow = .Rows.Count + .Row - 1
End With
End Function
и "для большого объема текста это" станет реально
Евгений.

Последний раз редактировалось Teslenko_EA; 27.12.2009 в 00:33.
Teslenko_EA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос текста densi2009 Microsoft Office Word 6 08.10.2009 17:53
перенос текста на канве varelik Общие вопросы Delphi 11 15.09.2009 18:56
Перенос текста soonner JavaScript, Ajax 5 06.05.2009 19:13
Перенос текста из Excel в Word Aleksandra Microsoft Office Word 3 23.09.2008 08:46
TEdit - перенос текста, SetFocus Аббат Помощь студентам 10 23.04.2007 16:47