powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / обработка текстового файла
25 сообщений из 25, страница 1 из 1
обработка текстового файла
    #36307166
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, УВАЖАЕМЫЕ, необходимо обработать текстовые файлы в екселе, текст переносится без вопросов, формируется таблица, возникает вопрос как удалить ненужные данные (в примере выделено синим) оставив только таблицы с названиями. Простым удалением строк возможно, но в разных текстовых файлах имеется разное кол-во таблиц, приходится удалять в ручную.
Как я понимаю возможно 2 варианта- или при экспорте данных выбирать только необходимые данные или по признакам выбирать необходимые данные макросом. Заранее благодарен за совет.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36307212
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пример файла
...
Рейтинг: 0 / 0
обработка текстового файла
    #36307232
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макросом пробежаться по UsedRange, если в Cells(cc.Row, 1) like "СПТ" и Cells(cc.Row, 3) Numeric, то оставляем строку. Если нет, удаляем. Этот код можно добавить после query импорта файла.
Справку (внизу) уже не надо?
...
Рейтинг: 0 / 0
обработка текстового файла
    #36307440
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну например так (всё было в папке c:\temp\_Teplo\)
...
Рейтинг: 0 / 0
обработка текстового файла
    #36307443
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Слово teplo считать словом truba :)
...
Рейтинг: 0 / 0
обработка текстового файла
    #36307616
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в том то и беда, что надо получить из тестовых файлов таблицы с данными, (правильно определен ключевое слово СПТ), дальше идет таблица, те должно быть как в примере, спасибо.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36308337
m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
m
Гость
ТСчто надо получить из тестовых файлов таблицы с данными, (правильно определен ключевое слово СПТ), дальше идет таблица
Так и делайте, как советует Hugo121 . В качестве разделителя при импорте задайте вот такой символ ¦ , получите каждую колонку таблицы из текстового файла в отдельной колонке экселевского файла. Затем проходите по всем использованным строкам и ищите, для заглавия таблицы, нужные слова в колонке А, для остальных нужных колонок таблицы в соответствующих колонках. Используйте конструкцию IF с несколькими условиями.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36308383
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так в моём файле так и сделано. Правда если системный разделитель не точка, код сглючит (проще всего побороть, заменив в исходном текстовом файле все точки на системный разделитель).
...
Рейтинг: 0 / 0
обработка текстового файла
    #36308400
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, если справка не нужна, замени в коде "СПТ" на "Код трубопровода" и анализ 3-й ячейки на анализ 5-й - получишь результат точно как в примере, если строчки поуже сделать (кстати, это тоже можно сделать программно).
Или тебе , как в примере, только два столбца импортировать надо? Удали лишние кодом в конце.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36308447
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ааа, сумма лишняя - анализируй 1-ю или 7-ю.
Ну вроде что ещё...
...
Рейтинг: 0 / 0
обработка текстового файла
    #36308500
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вся суть в 3 строки укладывется, остальное импорт и обвязка:
Код: plaintext
1.
2.
3.
4.
5.
6.
For i = ActiveWorkbook.Sheets( 1 ).Cells.SpecialCells(xlCellTypeLastCell).Row To  1  Step - 1 
If InStr( 1 , Cells(i,  1 ).Value, "Код трубопровода", vbTextCompare) >  0  Or Cells(i,  7 ).Value <> "" And IsNumeric(Cells(i,  7 ).Value) = True Then
Else
Rows(i).Delete Shift:=xlUp
End If
Next
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312294
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо, что откликнулись на мою проблему. Выбор строки по "ключевому слову" у Вас прописан изумительно. Только необходимо, чтобы конечный результат был такой как в приложенном файле. Не могу сообразить как после преобразования в ексель > выбрав нужную строку (содержащую "Код трубопровода") удалить 7 сток вниз и 8 вверх (может есть другие варианты), спасибо Р S сорри, что сразу не ответил, приболел
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312299
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
файл не прилипился
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312362
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вы последний аттачмент вообще смотрели? Я никаких отличий, кроме самих значений, не вижу между ним и 1.7z
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312375
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, и вот это: как после преобразования в ексель удалить меня сбивает с толку - там ведь всё в одном коде сразу и делается... смотрите мой файл целиком, там нет изначально query, данные импортируются макросом.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312379
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Импортируется без таблицы (только названия)
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312391
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hugo121Так в моём файле так и сделано. Правда если системный разделитель не точка, код сглючит (проще всего побороть, заменив в исходном текстовом файле все точки на системный разделитель).
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312421
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как это я сразу не заметил, что в Вашем файле разделители запятые...
Т.к. мой код определяет строки с нужными данными по тому, цифры там или нет, то 11.11 он воспримет как цифру, если системный разделитель точка.
Можно в макросе перед импортом replace по всему текстовому файлу все точки на запятые, ка вариант...
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312467
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, попробую отпишусь
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312478
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Или попробуй строку
.TextFileColumnDataTypes = Array(2)
заменить на
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
Так работает, но данные остаются текстом, т.е. позже сложить их как цифры не получается.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312490
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вернее у меня так цифры умножаются на 1000 - я точки в тексте поменял на запятые, импортнул, а в системе "," разделитель разрядов. С виду красиво, как в тексте, а по сути неправильно.
Осторожно, не напутайте.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312493
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А замена формата разве не поможет?
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312505
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наверное, экспериментируйте. Можно на чистом файле записать экспорт в макрос, затем полученный код вставить в файл вместо моего, если импорт устраивает. Ну и затем в коде подкорректировать, какие ячейки и как анализировать.
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312625
Nafan9l
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Работает замечательно, и после преобразвания формата воспринимает как цифры, только в текстовом файле преобразование идет оочень долго!
...
Рейтинг: 0 / 0
обработка текстового файла
    #36312658
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nafan9lтолько в текстовом файле преобразование идет оочень долго! - это как?
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / обработка текстового файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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