Добрый день! Есть не сложная задача для тех кто разбирается. Требуется макрос который по кнопке посреди страницы будет предлагать выбрать файл формата ТХТ на данном ПК. После того как файл будет выбран, макрос создаст файл эксель с названием выбранного файла ТХТ и перенесенными в него данными из файла ТХТ с разбивкой по столбцам строк. Разделитель " ; " Образец файла ТХТ приложил Видел похожие задачи, но адаптировать под себя ума не хватило
Добрый день! Есть не сложная задача для тех кто разбирается. Требуется макрос который по кнопке посреди страницы будет предлагать выбрать файл формата ТХТ на данном ПК. После того как файл будет выбран, макрос создаст файл эксель с названием выбранного файла ТХТ и перенесенными в него данными из файла ТХТ с разбивкой по столбцам строк. Разделитель " ; " Образец файла ТХТ приложил Видел похожие задачи, но адаптировать под себя ума не хватилоKlek-08
Попробовал такой вариант, но выбивает ошибку "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