|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
|
Импорт текста из txt в excel31.08.2020, 08:17. Показов 17507. Ответов 74
Здравствуйте,
Есть файл txt_01.txt, из него необходимо скопировать содержимое Содержимое столбцами расположено, примеру так 15rt63 174asd94 39047 494 39a049 0304 157863 174394 39047 4a94 39049 0304 1a57863 1asd394 390ds47 494 390a49 0304 15d7863 174394 39047 494 39dsd049 0304 157863 17asd394 39047 494 39049 0304 157863 174d394 3904a7 494 39049 0304 Нужен макрос, который бы скопировал всё и вставил также по столбикам с первой ячейки первой строчки в определенный лист excel файла Листая интернет, я нашел много ссылок на такие макросы, но почему то они у меня не работают. Я их слабо понимаю, и видимо одной замены расположения txt файла недостаточно, помогите :/ Спасибо
0
|
|
| 31.08.2020, 08:17 | |
|
Ответы с готовыми решениями:
74
Импорт txt в Excel |
|
|
|||||||
| 02.09.2020, 11:38 | |||||||
|
Лучше для взаимодействия между двумя книгами оперировать не "текущей" или "активной" книгой, а при первом обращении к ним создавать объект Workbook и работать уже с ним Например:
0
|
|||||||
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
||
| 02.09.2020, 11:52 [ТС] | ||
|
Set wb1 Set sh1 - это и есть без выделений? Проблема в том, что по моей задумке, нам нужно скопировать данные с одного листа открытой книги, потом вставить в книгу из которой запустили макрос, а потом вернутся к той книге, что открыта и выбрать другой лист и т д., Данные находятся на разных листах. Поэтому я не могу использовать Activeworkbook, Ведь активная книга меняется
0
|
||
|
|
|||||||||||
| 02.09.2020, 12:05 | |||||||||||
|
wb1 - объект книга. В моём примере - это вот та открытая книга, которую только что открыли командой
Workbooks.Open "путь к файлу" Можно тут же открыть ещё одну книгу. Тогда она окажется активной. И мы тут же создаём ещё один объект, ссылающийся уже на неё:
0
|
|||||||||||
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
||
| 02.09.2020, 12:15 [ТС] | ||
|
0
|
||
|
|
|
| 02.09.2020, 12:21 | |
|
Если запустить запись макроса, то начнут записывать действия пользователя. А пользователь не может делать что-то с ячейкой, не щёлкнув по ней. Он же должен выбрать, с какой ячейкой хочет сделать своё дело. Поэтому в макрос и пишутся Activate и Select. А на ячейки он ссылается относительно текущего листа. Т.е.
Range("B13")="какое-нибудь значение" Но, если мы не собираемся жонглировать листами, а для каждого нужного листа создали ссылку, то в каждом случае, когда надо обратиться к ячейке, мы явно указываем, на каком листе эта ячейка находится: sh1.Range("B13")="какое-нибудь значение" т.е. sh1 - это один из листов книги wb1, то и с книгой мы не ошибёмся. Если нам нужен будет лист другой книги, то для него надо иметь свою отдельную ссылку: Set sh2 = wb2.Sheets("лист второй книги") И потом можно значение ячейки B13 первой книги скопировать в ту же ячейку второй книги sh2.Range("B13")=sh1.Range("B13") Элементарно. Но, как выше уже говорилось, удобней работать не с Range, а Cell у которой в параметрах указываются номера столбцов и строк, а не буквы. С числами проще работать в циклах. Добавлено через 2 минуты Если уже есть какой-то макрос, который записан макрорекордером и там не понятно, как сделать все эти ссылки - кидай сюда этот код, я адаптирую. На конкретном примере будет понятней
1
|
|
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
|||||||
| 02.09.2020, 12:32 [ТС] | |||||||
0
|
|||||||
|
|
||||||
| 02.09.2020, 12:37 | ||||||
0
|
||||||
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
||||||||||||
| 02.09.2020, 12:58 [ТС] | ||||||||||||
Не совсем понимаю, как приравнять найденную ячейку в файле из которого запустили макрос с последним открывшемся с помощью ссылок
0
|
||||||||||||
|
|
|
| 02.09.2020, 13:07 | |
|
Вот эти все Cells предваряем ссылкой на нужный лист. Уж не знаю, какая ссылка на какой файл создана. Допустим к с листом первой книги:
LastRow = sh1.Cells(Rows.Count, 1).End(xlUp).Row А вот это не вписывается в нашу парадигму без селектов Cells(LastRow, 1).Offset(0, 0).Select И ещё... Offset(0, 0) - бессмысленная операция. Смещение на 0 строк и 0 столбцов? Если у нас уже есть номер последней строки в переменной LastRow, то обращаться к строке выше надо через выражение LastRow - 1
0
|
|
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
||
| 02.09.2020, 13:10 [ТС] | ||
|
То есть первая операция переносит в первую ячейку строки, вторая во вторую и так далее
0
|
||
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
||
| 02.09.2020, 13:14 [ТС] | ||
|
Надо получается как то передвинуться на следующую Column в этой же строке
Добавлено через 51 секунду
0
|
||
|
|
||
| 02.09.2020, 13:18 | ||
|
Ну или выкладывать сюда образцы обоих файлов и подробное объяснение, какие ячейки и куда копировать по какому принципу. Кому будет не лень - напишет процедуру копирования полностью под эти хотелки. А так на каждую строку кода чатиться по целой странице - бестолковое занятие
0
|
||
|
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
|
|
| 02.09.2020, 13:26 [ТС] | |
|
0
|
|
|
655 / 247 / 89
Регистрация: 28.10.2015
Сообщений: 526
|
||||||
| 05.09.2020, 13:53 | ||||||
|
blackfisk, А почему не воспользоваться "Данные - Импорт - Из текста"?
Если именно VBA нужно, то под ваши файлы макрорекордер дал такой код
1
|
||||||
| 05.09.2020, 13:53 | |
|
Импорт из Excel или Txt в БД Лотус
Чтение текста в Юникоде из txt файла в столбец Excel 2010 Поиск определенного текста в файле .txt и вставка в определенную ячейку в Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|