Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/макрос экспорт данных из ТХТ в Эксель - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
макрос экспорт данных из ТХТ в Эксель
Klek-08 Дата: Среда, 06.12.2023, 11:51 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

офис 16
Добрый день!
Есть не сложная задача для тех кто разбирается.
Требуется макрос который по кнопке посреди страницы будет предлагать выбрать файл формата ТХТ на данном ПК. После того как файл будет выбран, макрос создаст файл эксель с названием выбранного файла ТХТ и перенесенными в него данными из файла ТХТ с разбивкой по столбцам строк. Разделитель " ; "
Образец файла ТХТ приложил
Видел похожие задачи, но адаптировать под себя ума не хватило


понять и простить
 
Ответить
СообщениеДобрый день!
Есть не сложная задача для тех кто разбирается.
Требуется макрос который по кнопке посреди страницы будет предлагать выбрать файл формата ТХТ на данном ПК. После того как файл будет выбран, макрос создаст файл эксель с названием выбранного файла ТХТ и перенесенными в него данными из файла ТХТ с разбивкой по столбцам строк. Разделитель " ; "
Образец файла ТХТ приложил
Видел похожие задачи, но адаптировать под себя ума не хватило

Автор - Klek-08
Дата добавления - 06.12.2023 в 11:51
Klek-08 Дата: Среда, 06.12.2023, 13:47 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

офис 16
Попробовал такой вариант, но выбивает ошибку "Run-time error 1004 Aplication-defined or object-defined error
[vba]
Код
Sub Выбрать_и_импортировать_TXT()
Dim Путь_к_файлу As Variant
Путь_к_файлу = Application.GetOpenFilename("Текстовые файлы (*.txt), *.txt")

If Путь_к_файлу <> False Then
Dim Лист_назначения As Worksheet
Set Лист_назначения = ThisWorkbook.Sheets.Add
Лист_назначения.Name = Left(Путь_к_файлу, InStrRev(Путь_к_файлу, "\") - 1)

Dim Строка As String
Dim Источник As Integer
Dim Столбец As Integer

Open Путь_к_файлу For Input As #1
Do Until EOF(1)
Line Input #1, Строка
If InStr(Строка, ";") > 0 Then
Источник = Источник + 1
Столбец = 1
Do Until Строка = ""
If InStr(Строка, ";") > 0 Then
Лист_назначения.Cells(Источник, Столбец).Value = Left(Строка, InStr(Строка, ";") - 1)
Строка = Mid(Строка, InStr(Строка, ";") + 1)
Столбец = Столбец + 1
Else
Лист_назначения.Cells(Источник, Столбец).Value = Строка
Строка = ""
End If
Loop
End If
Loop
Close #1

MsgBox "Данные успешно импортированы в файл " & Лист_назначения.Name
Else
MsgBox "Файл не выбран."
End If
End Sub
[/vba]


понять и простить
 
Ответить
СообщениеПопробовал такой вариант, но выбивает ошибку "Run-time error 1004 Aplication-defined or object-defined error
[vba]
Код
Sub Выбрать_и_импортировать_TXT()
Dim Путь_к_файлу As Variant
Путь_к_файлу = Application.GetOpenFilename("Текстовые файлы (*.txt), *.txt")

If Путь_к_файлу <> False Then
Dim Лист_назначения As Worksheet
Set Лист_назначения = ThisWorkbook.Sheets.Add
Лист_назначения.Name = Left(Путь_к_файлу, InStrRev(Путь_к_файлу, "\") - 1)

Dim Строка As String
Dim Источник As Integer
Dim Столбец As Integer

Open Путь_к_файлу For Input As #1
Do Until EOF(1)
Line Input #1, Строка
If InStr(Строка, ";") > 0 Then
Источник = Источник + 1
Столбец = 1
Do Until Строка = ""
If InStr(Строка, ";") > 0 Then
Лист_назначения.Cells(Источник, Столбец).Value = Left(Строка, InStr(Строка, ";") - 1)
Строка = Mid(Строка, InStr(Строка, ";") + 1)
Столбец = Столбец + 1
Else
Лист_назначения.Cells(Источник, Столбец).Value = Строка
Строка = ""
End If
Loop
End If
Loop
Close #1

MsgBox "Данные успешно импортированы в файл " & Лист_назначения.Name
Else
MsgBox "Файл не выбран."
End If
End Sub
[/vba]

Автор - Klek-08
Дата добавления - 06.12.2023 в 13:47
Pelena Дата: Среда, 06.12.2023, 16:32 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 19403
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Пример исходного файла покажете?


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеПример исходного файла покажете?

Автор - Pelena
Дата добавления - 06.12.2023 в 16:32
msi2102 Дата: Среда, 06.12.2023, 18:23 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 415
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Klek-08, проще всего это сделать с помощью Power Query


Сообщение отредактировал msi2102 - Четверг, 07.12.2023, 10:29
 
Ответить
СообщениеKlek-08, проще всего это сделать с помощью Power Query

Автор - msi2102
Дата добавления - 06.12.2023 в 18:23
mgt Дата: Четверг, 07.12.2023, 11:03 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 102
Репутация: 26 ±
Замечаний: 0% ±

Excel 2010
Сдается мне, эта кнопка называется "Открыть". А там уже и разделитель выбирай, и форматы...
 
Ответить
СообщениеСдается мне, эта кнопка называется "Открыть". А там уже и разделитель выбирай, и форматы...

Автор - mgt
Дата добавления - 07.12.2023 в 11:03
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!