Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

Купить рекламу на форуме 15-35 тыс рублей в месяц

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.02.2009, 02:54   #1
Диагностик
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 62
По умолчанию Как вставить в таблицу Excel данные из текстового файла

Имеются данные в текстовом формате в файле .doc, .txt. Пытаюсь скопировать их в таблицу, по строкам данные разбиваются, а по столбцам нет, все заносится в один столбец. Хотелось бы, что-бы данные, разделенные запятыми, заносились в разные столбцы. Спасибо.
Вложения
Тип файла: rar Пример.rar (5.7 Кб, 90 просмотров)
Диагностик вне форума Ответить с цитированием
Старый 18.02.2009, 05:12   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

После того, как Вы скопировали данные и получили их на листе Excel в том виде, который представлен в Вашем приложенном файле, можно просто выделить столбец "A", затем выбрать Данные - Текст по столбцам, установить "с разделителями" - Далее - поставить флажок "запятая" - Далее - Готово.
Или выполнить макрос:
Код:
Sub ToColumns()

    Dim i As Long
    Application.ScreenUpdating = False
    For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
        If Cells(i, "A") <> "" Then Cells(i, "A").TextToColumns DataType:=xlDelimited, Comma:=True
    Next

End Sub
Если же Вы хотите сразу получать данные в нужных ячейках при открытии файла (естественно макросом), то с форматом "txt" - без проблем, а вот формат "doc" придется переделать в "txt".
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.02.2009, 05:32   #3
Диагностик
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 62
По умолчанию

Спасибо, получилась. В Open Office это делается по умолчанию, а нельзя также установить в Excel?
Диагностик вне форума Ответить с цитированием
Старый 18.02.2009, 06:50   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,176
По умолчанию

При "ручном" копировании, по-моему нельзя.
Посмотрите вложение. Попробуйте скопировать из файла "Таблица.doc" данные и вставить их в любую ячейку столбца "A" файла "Книга1.xls". Может так устроит?
Вложения
Тип файла: rar Пример_2.rar (10.1 Кб, 67 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 18.02.2009, 07:32   #5
Диагностик
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 62
По умолчанию

У меня Excel макросы не пускает. Я думал это можно сделать через настройки Excel, в каком-нибудь форматировании или использовании разъделителей.
Диагностик вне форума Ответить с цитированием
Старый 28.02.2009, 05:47   #6
roach1967
Пользователь
 
Регистрация: 21.02.2009
Сообщений: 28
По умолчанию

Думаю можно поступить так (для текстового файла):
1. Заменить все запятые-разделители на точку с запятой.
2. сменить расширение с .TXT на .CSV.
Это стандартный файл Excell-а.
Необходимо проверить, что-бы формат файла был ANSI, а не UNICODE.
В споре рождается истина.

Последний раз редактировалось roach1967; 28.02.2009 в 05:51.
roach1967 вне форума Ответить с цитированием
Старый 28.02.2009, 11:51   #7
Диагностик
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 62
По умолчанию

Спасибо, но это дoльше чем предложил SAS888 в #2.
Диагностик вне форума Ответить с цитированием
Старый 13.12.2009, 13:22   #8
Dronnnn
Новичок
Джуниор
 
Регистрация: 13.12.2009
Сообщений: 1
По умолчанию

здратсвуйте, я в программирование не селен и прошу вас исходник выложить если сможете... По этому вопросу Имеются данные в текстовом формате в файле .doc, .txt. Пытаюсь скопировать их в таблицу, по строкам данные разбиваются, а по столбцам нет, все заносится в один столбец. Хотелось бы, что-бы данные, разделенные запятыми, заносились в разные столбцы. Спасибо.
Dronnnn вне форума Ответить с цитированием
Старый 13.12.2009, 13:50   #9
Teslenko_EA
Участник клуба
 
Регистрация: 10.08.2009
Сообщений: 1,796
По умолчанию

Здравствуйте Dronnnn.
Подобный код может выполнить Ваше желание -" заносились в разные столбцы"
Код:
Sub openTxtFile()
Const sTxtFile = "C:\TextFileName.txt"
    Workbooks.OpenText Filename:=sTxtFile, DataType:=xlDelimited, Comma:=True
End Sub
Евгений.
P.S. на будущее: создавайте собственную тему если хотите получить ответ(совет)
Teslenko_EA вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как добавлять данные в таблицу выведенную из ACCESS в DBGrid (Delphi ADO) Ce4kok БД в Delphi 26 26.01.2009 20:35
Читая данные из текстового файла,нарисовать розу ветров в Delphi Gaika Помощь студентам 2 14.09.2008 12:24
как оператором insert вставить данные сразу в две таблицы? furstenberg БД в Delphi 2 18.10.2007 16:39
перевод таблицы из текстового файла в таблицу paradox7.0 ГОСЕАН БД в Delphi 4 19.07.2007 15:12
как вставить таблицу Exel doncova1 БД в Delphi 1 19.11.2006 16:07