Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/75: Рейтинг темы: голосов - 75, средняя оценка - 4.57
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146

Импорт текста из txt в excel

31.08.2020, 08:17. Показов 17263. Ответов 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
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.08.2020, 08:17
Ответы с готовыми решениями:

Импорт txt в excel
Добрый день! Есть макрос, который импортирует txt файл в excel, подскажите, пожалуйста, как изменить код, чтобы адрес импортируемого файла...

Импорт txt в excel
Добрый день! Если кто-нибудь знает, подскажите, пожалуйста, как решить данную задачу: у меня есть файл txt с колонкой чисел, нужно...

Импорт txt в Excel
Здравствуйте! Имеется txt документ. Нужен макрос, которы будет конвертировать информацию из него в следующем виде (только начиная со второй...

74
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
31.08.2020, 14:47
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Hugo121 Посмотреть сообщение
tmp(x) = --tm(x)
чооооо? это работает в VBA?
Пффф. На секунду показалось, что это
tmp(x) -= tm(x)
Но и так тоже... Эм... Зачем?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
31.08.2020, 14:54
Да всегда работало, и в функциях листа тоже...

Добавлено через 5 минут
Затем что иначе там текст, хоть и число. И народ жалуется!
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
31.08.2020, 14:55
Таки смысл этой операции какой? Один знак минуса - это смена знака. Два - дважды. В итоге знак не меняется. Зачем тогда выражение Else, если там происходит то же самое присвоение, но без проворачивания знака?

Добавлено через 37 секунд
Цитата Сообщение от Hugo121 Посмотреть сообщение
иначе там текст, хоть и число
Это индусская реализация Val?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
31.08.2020, 14:59
Смысл - превратить "123" в 123. В другой массив, ибо изначальный типа string.

Добавлено через 1 минуту
Val - 3 знака, + ещё скобки хотя... Ща сравню.

Добавлено через 2 минуты
Не, у меня Val() убивает все дроби, да и текст всё равно нужно оставлять... Бинарный минус проще.
1
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
31.08.2020, 15:00
Цитата Сообщение от Hugo121 Посмотреть сообщение
превратить "123" в 123
Это-то понятно. Но можно использовать нормальную такую функцию приведения к типу Val, а не этот индуизм
К примеру, на памяти индусское определение вхождение числа в диапазон от 0 до 9 через Len. Если больше 1, значит это или 10 и более или -1 и менее. Но это же индуууусы
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
31.08.2020, 15:00
Ну пусть индусский, хотя так Вы первый назвали
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
31.08.2020, 15:01
Цитата Сообщение от Hugo121 Посмотреть сообщение
Val() убивает все дроби
Ну, если число записано через дробный знак ТОЧКА, то Val преобразует нормально
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
31.08.2020, 15:02
Ну так там не точка, это ещё нужно замену делать...
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
31.08.2020, 15:05
Ок. Но эту строчку таки надо подробно так закомментировать, что в ней происходит А то некоторые могут сойти с ума, когда наткнутся на такое решение.
Я, конечно, не настоящий программист, но с таким встречаюсь впервые. Прикольно
0
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
01.09.2020, 07:33  [ТС]
Спасибо большое

А если исходный файл не имеет пробелов, типа, там написано
Сотрудник=Иванов И.И.
расстояние=0.92222222


VBA из excel может повлиять на этот файл? Считать =, как разделение между ячейками, чтобы "Сотрудник" - в первой ячейке, а Иванов И.И. в другой, а также заменить "." на ","?
0
 Аватар для Narimanych
2752 / 1726 / 779
Регистрация: 23.03.2015
Сообщений: 5,452
01.09.2020, 09:14
blackfisk,

Опять 25.
Есть ли есть вопрос- должен быть прикреплен файл с деталями...
Кроме вас , в данной ситуации, никто не понял что есть и что нужно делать.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.09.2020, 10:02
Цитата Сообщение от blackfisk Посмотреть сообщение
VBA из excel может повлиять на этот файл?
Может.
А т.к. спрашиваете - значит Вы вообще не вникаете в предложенные решения.
0
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
01.09.2020, 10:05  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
Может.
А т.к. спрашиваете - значит Вы вообще не вникаете в предложенные решения.
"может" - Всего лишь выражение. Кажется я сделал какой то костыльный макрос для этого, только у меня осталась одна проблема
В ячейке записывается время вот так: "26.12.2020 18:30:00" - а excel не понимает такого формата, что делать не знаю
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.09.2020, 10:21
Вы спросили, я ответил, что не так?
Цитата Сообщение от blackfisk Посмотреть сообщение
что делать не знаю
Цитата Сообщение от Hugo121 Посмотреть сообщение
Можно добавить форматов столбцам
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38205 / 21137 / 4311
Регистрация: 12.02.2012
Сообщений: 34,750
Записей в блоге: 14
01.09.2020, 13:26
Цитата Сообщение от Hugo121 Посмотреть сообщение
If IsNumeric(tm(x)) Then tmp(x) = --tm(x) Else tmp(x) = tm(x)
- что это?
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
01.09.2020, 15:47
Если элемент есть по сути число, то преобразуем в число, иначе оставляем как есть.
Не притворяйтесь что не поняли
Покажите свой вариант, решающий эту задачу - превратить "123" в 123 при условии что может попасться и "слово".
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
01.09.2020, 16:28
Цитата Сообщение от blackfisk Посмотреть сообщение
"26.12.2020 18:30:00"
Visual Basic
1
2
a = "26.12.2020 18:30:00"'переменная имеет значение даты в текстовом формате
b = DateValue(a) + TimeValue(a)'переменная b получает значение в формате даты-времени
1
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
02.09.2020, 09:29  [ТС]
Цитата Сообщение от Hugo121 Посмотреть сообщение
Вы спросили, я ответил, что не так?
Вы так говорите, будто я на Вас наезжаю
Я понял всех Вас, и дописал всё что нужно было, для корректной работы
Всем Спасибо

Добавлено через 28 минут
Сейчас столкнулся с такой проблемой.
Мне необходимо менять активные книги, но точное название и путь, я знаю только у одной книги. То есть

1. Я открываю случайный xlsx файл
2. Запускаю макрос из персональной книги.
Работа макроса направлена на копирование определенных ячеек с разных листов из ОТКРЫТОГО файла в первую пустую строку конкретного файла (название и путь которого я знаю).
Макрос откроет конкретный файл и начнет пошагово переносить данные ячеек, но вот как ему объяснить какое окно в данный момент должно быть активно, чтобы он взял нужную ячейку
Затем макрос должен поставить прочерки в пустых ячейках заполненной строки
3. Закрыть и сохранить "конкретный" файл.

Не представляю, как я буду писать этот макрос. Но пока основная проблема это выбор между окнами excel

Добавлено через 1 час 0 минут
Ага, ответом на вопрос являются:

Visual Basic
1
2
ThisWorkbook.Activate 
Workbooks(Workbooks.Count).Activate
Теперь необходимо найти первую пустую строчку или ячейку
0
 Аватар для amd48
845 / 475 / 80
Регистрация: 18.05.2016
Сообщений: 1,267
Записей в блоге: 5
02.09.2020, 09:49
Цитата Сообщение от blackfisk Посмотреть сообщение
найти первую пустую строчку или ячейку
Проходить по ним в цикле и проверять каждую, пустая она или нет.
Или, если область работы с ячейками заканчивается реальными данными, то последнюю строку найти так:
Visual Basic
1
debug.print Cells(Rows.Count, 1).End(xlUp).Row
1
Нет, ну ты видел?!
8 / 8 / 0
Регистрация: 21.05.2020
Сообщений: 146
02.09.2020, 11:31  [ТС]
Цитата Сообщение от amd48 Посмотреть сообщение
Проходить по ним в цикле и проверять каждую, пустая она или нет.
Или, если область работы с ячейками заканчивается реальными данными, то последнюю строку найти так:
Visual Basic
1
debug.print Cells(Rows.Count, 1).End(xlUp).Row
Спасибо, я тоже нашел вариант похожий, переделал его под себя, чтобы выделял строку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.09.2020, 11:31
Помогаю со студенческими работами здесь

Импорт из Excel или Txt в БД Лотус
Вроде тема поднимлась так или иначе, но то что нужно не нашла. Пожалуйста, поделитесь скриптом, который может имортировать файл Excel...

Импорт текста из буфера обмена в таблицу Excel
Доброго здоровья всем! :), Нужна ваша помощь. Делаю экспорт данных из программы через буфер обмена. Текст в буфере выглядит примерно так; ...

Импорт из Excel длинного текста (более 255 символов)
Добрый день ув. форумчане! Вопрос по импорту длинного текста из Excel. Опишу с чем столкнулся, возможно кому то время сэкономит. Детектив...

Чтение текста в Юникоде из txt файла в столбец Excel 2010
В общем пытаюсь прочесть, но корректно (без кракозябр) получается только первая строка. Винда английская. Sub ReadTextFile() Dim...

Поиск определенного текста в файле .txt и вставка в определенную ячейку в Excel
Доброго времени суток. Допустим есть файл info.txt ( состоит из множества строк, например gsd = 797 .... dig = 7666 и т.д.) в корне в с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
Модель здравосохранения 17. Планы на выгорание
anaschu 23.05.2026
Вот конкретная схема реализации: В классе Работник добавить: накопленнаяУсталость — растёт каждый час работы, снижается в перерывы и болезни коэффициентПрезентеизма — снижает продуктивность. . .
Изменение цветов в палитре gif файла aka фавикона
russiannick 23.05.2026
Изменение цветов в палитре gif файла, юзаемого как фавиконка в составе html-файла, помещенная в base64, средствами нативного Java Script, навеянное сном в майский день. Для работы необходим браузер,. . .
Модель здравосохранения 16. Слишком хорошие и здоровые сотрудники уходят, недовольные зарплатой
anaschu 23.05.2026
Отладка увольнений и настройка производительности Сегодня во второй половине дня разобрались с механикой увольнений и настроили коэффициент сложности заданий. Вот что было сделано. . . .
Как я стал коммунистом))) Модель сохранения здоровья сотрудников, запись блога номер 15
anaschu 23.05.2026
Внезапно хорошее здоровье сотрудников не нужно капиталистам?))
Модель здравоСохранения 15. Как мы чинили AnyLogic модель рабочего коллектива: сочленение диаграммы состояний болезней и поломок в ресурспул
anaschu 23.05.2026
Как мы чинили AnyLogic модель рабочего коллектива Сегодня разобрались с пятью багами, из-за которых модель либо падала с ошибкой, либо давала совершенно бессмысленные результаты. Каждый баг был. . .
Диалоги с ИИ
zorxor 23.05.2026
Насколько я понимаю - Вы - Искусственный Интеллект. Это так? Да, всё верно. Я — искусственный интеллект. Я представляю собой большую языковую модель, созданную для помощи в самых разных задачах. . . .
Модель здравосохранения 14. Собираем всю модель вместе.
anaschu 22.05.2026
Модель собрана. В будущих постах на видео я покажу, как она работает. В этом посте запускаем её, проверяем результаты и разбираем что можно с ней делать дальше. Перед запуском проверяем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru