Несколько файлов txt в excel

Господа,    

  Всех с наступающим НГ! Удачи, счастья и сбычи мечт.    

  Возник такой вопрос. Есть n количество файлов с данными в формате .txt    
Формат данных одинаковый: одинаковая шапка в документе, одинаковое кол-во столбцов, разделитель значений один и тот же (точка с запятой).    
До сих пор я их переношу в excel путем импорта каждого файлика и использованием опции «текст по столбцам».    
Вопрос: существует ли возможность написать макрос, который позволял бы собирать эти файлы вместе, обрезать шапочку и конвертировать все их в один лист Excel? Файлы могут лежать в разных папках….    

  Начинаю писать макрос    

  Sub CombineWorkbooks()  
   Dim FilesToOpen  

       On Error GoTo ErrHandler  
   Application.ScreenUpdating = False  

     FilesToOpen = Application.GetOpenFilename _  
     (FileFilter:=»Text files (*.txt), _  
     MultiSelect:=True)  

  Ругается. (чайник я…) И потом, а как дальше прописать, чтобы он выполнял необходимые разделения и объединял файлы.  
Пример во вложении (текстовые файлы и целевой результат)  
Может, кто поможет?

Импорт и экспорт текстовых файлов (в формате TXT или CSV)

Импортировать данные из текстового файла в Excel можно двумя способами: открыть их в Excel или импортировать как диапазон внешних данных. Чтобы экспортировать данные из Excel в текстовый файл, воспользуйтесь командой Сохранить как и измените тип файла в меню.

Чаще всего используются два формата текстовых файлов:

  • текстовые файлы с разделителями (TXT), в которых для разделения полей текста обычно используется знак табуляции (знак ASCII с кодом 009);

  • текстовые файлы с разделителями-запятыми (CSV), в которых в качестве разделителя полей текста обычно используется запятая (,).

Вы можете изменить знак разделения, используемый в TXT- и CSV-файлах. Это может потребоваться для обеспечения успешного выполнения импорта и экспорта.

Примечание: Можно импортировать и экспортировать до 1 048 576 строк и 16 384 столбцов.

Импорт текстового файла путем его открытия в Excel

Текстовый файл, созданный в другой программе, можно открыть как книгу Excel с помощью команды Открыть. При открытии текстового файла в Excel его формат не изменяется — это можно заметить по заголовку окна Excel, где имя указывается с расширением текстового файла (например, TXT или CSV).

  1. Перейдите в >открыть и перейдите в папку с текстовым файлом.

  2. В диалоговом окне Открытие выберите текстовые файлы в списке тип файла.

  3. Найдите нужный файл и дважды щелкните его.

    • Если это текстовый файл (с расширением ТХТ), запустится мастер импорта текста. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт. Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.

    • Если файл имеет расширение CSV, Excel автоматически откроет его и отобразит данные в новой книге.

      Примечание: При открытии CSV-файлов для определения способа импорта каждого столбца используются заданные по умолчанию параметры форматирования данных. Если вы хотите применить другие параметры, используйте мастер импорта текста. Например, мастер потребуется, если столбец данных в CSV-файле имеет формат МДГ, а в Excel по умолчанию используется формат ГМД или необходимо преобразовать в текст столбец чисел, содержащих начальные нули, чтобы сохранить их. Чтобы принудительно запустить мастер импорта текста, можно изменить расширение имени файла с CSV на TXT или импортировать текстовый файл путем подключения к нем (дополнительные сведения см. в следующем разделе).

Импорт текстового файла путем подключения к нем (Power Query)

Вы можете импортировать данные из текстового файла в существующий.

  1. На вкладке Данные в группе & преобразование данных выберите из текстового/CSV-документа.

  2. В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.

  3. В диалоговом окне предварительного просмотра есть несколько вариантов:

    • Выберите Загрузить, если вы хотите загрузить данные непосредственно на новый.

    • Кроме того, выберите загрузить в, если вы хотите загрузить данные в таблицу, в смету или на существующий или новый листа Excel, или просто создать подключение. Вы также можете добавить данные в модель данных.

    • Выберите Преобразовать данные, если вы хотите загрузить данные в Power Query и отредактировать их перед их преобразованием в Excel.

Если Excel не преобразует определенный столбец данных в нужный формат, их можно преобразовать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.

Экспорт данных в текстовый файл путем его сохранения

Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.

  1. Выберите Файл > Сохранить как.

  2. Нажмите кнопку Обзор.

  3. В диалоговом окне Сохранить как в поле Тип файла выберите формат текстового файла для этого документа. Например, щелкните Текст (с табу женой) или CSV (сзапятой).

    Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.

  4. Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.

  5. Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.

    Кроме того, под лентой может появиться предупреждение о том, что некоторые возможности могут быть потеряны при сохранение книги в формате CSV.

Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.

Импорт текстового файла путем подключения к нему

Вы можете импортировать данные из текстового файла в существующий.

  1. Щелкните ячейку, в которую вы хотите поместить данные из текстового файла.

  2. На вкладке Данные в группе Получение внешних данных нажмите Из текста.

  3. В диалоговом окне Импорт данных найдите и дважды щелкните текстовый файл, который нужно импортировать,и нажмите кнопку Импорт.

    Следуйте инструкциям мастера импорта текста. Щелкните Кнопка на любой странице мастера импорта текста, чтобы получить дополнительные сведения об использовании мастера. Окончив работу с мастером, нажмите кнопку Готово, чтобы завершить импорт.

  4. В диалоговом окне Импорт данных:

    1. В группе Куда следует поместить данные? выполните одно из следующих действий:

      • Чтобы поместить данные в выбранные ячейки, щелкните На существующий лист.

      • Чтобы поместить данные в верхний левый угол нового листа, выберите вариант На новый лист.

    2. При необходимости нажмите кнопку Свойства, чтобы задать параметры обновления, форматирования и макета импортируемых данных.

    3. Нажмите кнопку ОК.

      Excel добавит диапазон внешних данных в указанное место.

Если Excel не преобразует столбец в необходимый формат, это можно сделать после импорта. Дополнительные сведения см. в статьях Преобразование чисел из текстового формата в числовой и Преобразование дат из текстового формата в формат даты.

Экспорт данных в текстовый файл путем его сохранения

Лист Excel можно преобразовать в текстовый файл, используя команду Сохранить как.

  1. Выберите Файл > Сохранить как.

  2. Откроется диалоговое окно Сохранение документа.

  3. В поле Тип файла выберите формат текстового файла для листа.

    • Например, выберите Текстовые файлы (с разделителями табуляции) или CSV (разделители — запятые).

    • Примечание: Различные форматы текстовых файлов поддерживают разные возможности. Дополнительные сведения см. в статье Поддерживаемые Excel форматы файлов.

  4. Перейдите в папку, куда вы хотите сохранить файл, а затем нажмите кнопку Сохранить.

  5. Откроется диалоговое окно с напоминанием о том, что в текстовом файле будет сохранен только текущий лист. Если вы хотите сохранить именно текущий лист, нажмите кнопку ОК. Другие листы можно сохранить в отдельных текстовых файлах, повторив эту процедуру для каждого из них.

  6. Откроется второе диалоговое окно с напоминанием о том, что сохраняемый лист может содержать возможности, которые не поддерживаются текстовыми форматами файлов. Если в новом текстовом файле нужно сохранить только данные листа, нажмите кнопку Да. Если вы не уверены и хотите получить дополнительные сведения о том, какие возможности Excel не поддерживаются форматами текстовых файлов, нажмите кнопку Справка.

Дополнительные сведения о сохранении файлов в других форматах см. в статье Сохранение книги в другом формате файла.

Способ изменения деления при импорте зависит от того, как вы импортируете текст.

  • Если вы используете get & Transform Data > From Text/CSV, после выбора текстового файла и нажатия кнопки Импорт выберитесимвол, который нужно использовать в списке …. Новый вариант можно сразу же увидеть в окне предварительного просмотра данных, чтобы убедиться в том, что вы сделаете нужный вариант, прежде чем продолжить.

  • Если вы импортируете текстовый файл с помощью мастера импорта текста, вы можете изменить его на шаге 2 мастера импорта текста. На этом шаге также можно изменить способ обработки последовательных разделителей (например, идущих подряд кавычек).

    Дополнительные сведения о разных вариантах и дополнительных параметрах см. в мастере импорта текста.

Если при сохранение в CSV-окне вы хотите использовать в качестве по умолчанию полу двоеточие, но для этого нужно ограничиться Excel, измените десятичной запятой. В этом случае Excel будет использовать для этого двоеточие. Очевидно, что это также изменит способ отображения десятичных чисел, поэтому также рассмотрите возможность изменения разграничения чисел в тысячах, чтобы сузить путаницу.

  1. Очистка параметров Excel> Дополнительные>параметры редактирования> Использование системных междугов.

  2. Для десятичной запятой установитедля десятичной запятой (запятую).

  3. Установите для 1000-го построитель. (точка).

Когда вы сохраняете книгу в CSV-файле, по умолчанию в качестве разных списков запятой является запятая. Вы можете изменить этот знак на другой знак с помощью параметров региона Windows. 

Внимание: Изменение параметров Windows приведет к глобальным изменениям на компьютере и повлияет на все приложения. Чтобы изменить только делитель для Excel, см. изменение стандартного деления в списке для сохранения файлов в виде текста (CSV- или CSV-файла) в Excel.

  1. В Microsoft Windows 10 щелкните правой кнопкой мыши кнопку Начните и выберите параметры.

  2. Нажмите кнопку & языки выберите регион в левой области.

  3. На главной панели в группе Региональные параметрыщелкните Дополнительные параметры даты,времени и региона.

  4. В областивыберите изменить форматы даты, времени или числа.

  5. В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.

  6. В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле «Сепаратор списков».

  7. Дважды нажмите кнопку ОК.

  1. Нажмите кнопку Пуск и выберите пункт Панель управления.

  2. В разделе Часы, язык и регион щелкните элемент Изменение форматов даты, времени и чисел.

  3. В диалоговом окке Регион на вкладке Формат нажмите кнопку Дополнительные параметры.

  4. В диалоговом окне Настройка формата на вкладке Числа введите символ, который будет использовать в качестве нового в поле «Список».

  5. Дважды нажмите кнопку ОК.

Примечание:  После изменения разделителя элементов списка все программы на компьютере будут использовать новый символ. Вы можете вернуть стандартный символ, выполнив эти же действия.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Импорт данных из внешних источников (Power Query)

Нужна дополнительная помощь?

Как импортировать несколько текстовых файлов из папки на один лист?

Например, здесь у вас есть папка с несколькими текстовыми файлами, и вы хотите импортировать эти текстовые файлы на один рабочий лист, как показано ниже. Есть ли какие-нибудь уловки для быстрого импорта текстовых файлов из одной папки на один лист вместо копирования текстовых файлов по одному?

Импортируйте несколько текстовых файлов из одной папки на один лист с помощью VBA

Импортируйте текстовый файл в активную ячейку с помощью Kutools for Excel хорошая идея3


Вот код VBA, который поможет вам импортировать все текстовые файлы из одной конкретной папки на новый лист.

1. Включите книгу, в которую хотите импортировать текстовые файлы, и нажмите Alt + F11 ключи для включения Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модули, скопируйте и вставьте ниже код VBA в Модули окно.

VBA: импорт нескольких текстовых файлов из одной папки на один лист

Sub Test()
'UpdatebyExtendoffice6/7/2016
    Dim xWb As Workbook
    Dim xToBook As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xFiles As New Collection
    Dim I As Long
    Set xFileDialog = Application.FileDialog(msoFileDialogFolderPicker)
    xFileDialog.AllowMultiSelect = False
    xFileDialog.Title = "Select a folder [Kutools for Excel]"
    If xFileDialog.Show = -1 Then
        xStrPath = xFileDialog.SelectedItems(1)
    End If
    If xStrPath = "" Then Exit Sub
    If Right(xStrPath, 1) <> "" Then xStrPath = xStrPath & ""
    xFile = Dir(xStrPath & "*.txt")
    If xFile = "" Then
        MsgBox "No files found", vbInformation, "Kutools for Excel"
        Exit Sub
    End If
    Do While xFile <> ""
        xFiles.Add xFile, xFile
        xFile = Dir()
    Loop
    Set xToBook = ThisWorkbook
    If xFiles.Count > 0 Then
        For I = 1 To xFiles.Count
            Set xWb = Workbooks.Open(xStrPath & xFiles.Item(I))
            xWb.Worksheets(1).Copy after:=xToBook.Sheets(xToBook.Sheets.Count)
            On Error Resume Next
            ActiveSheet.Name = xWb.Name
            On Error GoTo 0
            xWb.Close False
        Next
    End If
End Sub

3. Нажмите F5 для отображения диалогового окна и выберите папку, содержащую текстовые файлы, которые вы хотите импортировать. Смотрите скриншот:
doc импортировать текстовые файлы из папки 1

4. Нажмите OK. Затем текстовые файлы были импортированы в активную книгу как новый лист отдельно.
doc импортировать текстовые файлы из папки 2


Если вы хотите импортировать один текстовый файл в определенную ячейку или диапазон, вы можете применить Kutools for ExcelАвтора Вставить файл в курсор утилита.

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите ячейку, в которую хотите импортировать текстовый файл, и нажмите Кутулс Плюс > Импорт Экспорт > Вставить файл в курсор. Смотрите скриншот:
doc импортировать текстовые файлы из папки 3

2. Затем появится диалоговое окно, нажмите Приложения для отображения Выберите файл для вставки в диалог положения курсора ячейки, затем выберите Текстовые файлы из раскрывающегося списка, а затем выберите текстовый файл, который вы хотите импортировать. Смотрите скриншот:
doc импортировать текстовые файлы из папки 4

3. Нажмите Откройте > Ok, и указанный текстовый файл был вставлен в позицию курсора, см. снимок экрана:
doc импортировать текстовые файлы из папки 5


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (46)


Номинальный 4 из 5


·


рейтинги 1

К примеру, есть у вас несколько десятков (или сотен) текстовых файлов с подобным содержимым:
(количество файлов, и количество строк данных в каждом файле не ограничено)

1c04;1J0-698-151-G;1 комплект тормозных накладок;1J0698151G;1J0698151G;5;1
1c04;1H0698151A;Тормозные колодки;1H0698151A;1H0698151A;1;1
1c04;1K0-698-151-B;Тормозные колодки;1K0698151B;1K0698151B;2;1

А надо из всего этого сформировать табличку в Excel — приблизительно такого вида:

Пример таблицы в Excel

На помощь придёт функция DATfolder2Array

Sub ПримерИспользованияФункции_DATfolder2Array()
    Папка = "D:ПроектыDATs"    ' папка, в которой будет производиться поиск файлов DAT для обработки
    Dim ErrorsArray    ' пустой массив для ошибок

    ' считываем данные из все файлов .DAT в папке в двумерный массив
    DataArr = DATfolder2Array(Папка, 7, "1,2,4,5", ErrorsArray)
 
    ' результаты выводим на листы "errors" и "result" (они должны существовать)
    Array2worksheet Worksheets("errors"), ErrorsArray, _
                    Array("Имя файла", "Номер строки", "Данные из строки")
    Array2worksheet Worksheets("result"), DataArr, _
                    Array("Ячейка", "Штрих-Код", "Наименование", "код 1С", "код произв.", "кол-во", "счетовод")
End Sub

Код функции DATfolder2Array:

Function DATfolder2Array(ByVal FolderPath$, ByVal ColumnsCount As Long, _
                         ByVal TextColumns$, ByRef ErrorsArr) As Variant
    ' получает путь FolderPath$ к папке с DAT-файлами
    ' считывает из файлов все строки, в которых число записей в строке равно ColumnsCount
    ' остальные (неподходящие) строки отправляет в массив ErrorsArr
    ' (столбцы ErrorsArr: 1-имя файла, 2 - номер строки, 3 - данные)
    ' в переменной TextColumns$ через запятую перечислены номера ТЕКСТОВЫХ столбцов
    ' Возвращает двумерный массив размером N*ColumnsCount

    ReDim ErrorsArr(1 To 1000, 1 To ColumnsCount + 2)
    On Error Resume Next
 
    Dim coll As New Collection, filename
    filename = Dir(FolderPath$ & "*.dat")
    While filename <> ""
        coll.Add filename    ' считываем в колекцию coll нужные имена файлов
        filename = Dir
    Wend
 
    Dim newtxt As String, ro As String, errIndex As Long
    For Each filename In coll
        Application.StatusBar = "Обрабатывается файл: " & filename
        newtxt = ReadTXTfile(FolderPath$ & filename)
        tempArr = "": tempArr = Split(newtxt, vbNewLine)
        For i = LBound(tempArr) To UBound(tempArr)
            ro = tempArr(i): ro = Replace(ro, vbTab, ";")
            If UBound(Split(ro, ";")) <> ColumnsCount - 1 And Len(Trim(ro)) > 0 Then
                tempArr(i) = "": errIndex = errIndex + 1
                ErrorsArr(errIndex, 1) = filename
                ErrorsArr(errIndex, 2) = "Строка " & i + 1
                ErrorsArr(errIndex, 3) = ro
            End If
        Next i
        newtxt = Join(tempArr, vbNewLine)
        txt = txt & newtxt & vbNewLine: DoEvents
    Next
    While InStr(1, txt, vbNewLine & vbNewLine) > 0
        txt = Replace(txt, vbNewLine & vbNewLine, vbNewLine)
    Wend
 
    txt = Replace(txt, vbTab, ";"): tempArr = Split(txt, vbNewLine)
    ReDim newArr(1 To UBound(tempArr), 1 To ColumnsCount)
 
    For i = LBound(tempArr) To UBound(tempArr)
        roArr = "": roArr = Split(tempArr(i), ";")
        For j = 1 To ColumnsCount
            newArr(i + 1, j) = roArr(j - 1)
            If "," & TextColumns$ & "," Like "*," & j & ",*" Then
                newArr(i + 1, j) = "'" & newArr(i + 1, j)
            End If
        Next j
    Next i
    DATfolder2Array = newArr
    Application.StatusBar = False
End Function

Код вспомогательной функции Array2worksheet можно найти на странице http://excelvba.ru/code/Array2worksheet

Хитрости »

22 Май 2011              60283 просмотров


Как объединить несколько текстовых файлов в один?

Проблема сбора данных с текстовых файлов в один общий не такая распространенная, как сбор данных из нескольких файлов/листов в Excel, но все же она периодически возникает. Поэтому в этой статье просто делюсь решением, как это можно сделать при помощи не самого хитрого код. Все, что потребуется — это нажать кнопку и выбрать нужные файлы: текстовые или CSV. Далее небольшие настройки:
сначала появится запрос «Оставлять только один заголовок(первого файла)» — если указать ДА(YES), то в итоговом файле будет только один заголовок, из первого файла. Заголовки всех остальных файлов будут пропущены. Необходимо, когда в каждом из текстовых файлов есть заголовки и их включать в общий файл не требуется.
И если выбрано пропускать заголовки, то появится запрос — «Сколько строк в заголовке?». Нужно в случаях, если в текстовых файлов заголовки состоят более чем из одной строки(бывают и по 10 строк).

'---------------------------------------------------------------------------------------
' Author : Щербаков Дмитрий(The_Prist)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          https://www.excel-vba.ru
'          info@excel-vba.ru
' Purpose: Процедура сбора данных с указанных текстовых файлов, оставляя только один заголовок
'---------------------------------------------------------------------------------------
Option Explicit
 
Sub Get_All_TXT_SkipHeader()
    Dim avFiles, li As Long, lHeadLinesCount As Long, lh As Long
    Dim objFSO As Object, objTxtFile As Object, sTxt, sAllTxt
    Dim IsSkipHeader As Boolean
    'диалог выбора текстовых файлов. Подробнее:
    '   https://www.excel-vba.ru/chto-umeet-excel/dialogovoe-okno-vybora-fajlovpapki/
    avFiles = Application.GetOpenFilename("TXT files(*.txt),*.txt,CSV files(*.csv),*.csv", , , , True)
    If VarType(avFiles) = vbBoolean Then Exit Sub
 
    IsSkipHeader = MsgBox("Оставлять только один заголовок(первого файла)?", vbQuestion + vbYesNo, "www.excel-vba.ru") = vbYes
    If IsSkipHeader Then
        lHeadLinesCount = Val(InputBox("Сколько строк в заголовке?", "www.excel-vba.ru", 1))
    End If
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For li = LBound(avFiles) To UBound(avFiles)
        'открываем текстовый файл
        Set objTxtFile = objFSO.OpenTextFile(avFiles(li), 1)
        'если заголовок уже записан и указано оставлять только один заголовок
        'пропускаем строки заголовков для 2-го и последующих файлов
        If IsSkipHeader Then
            If li > LBound(avFiles) Then
                For lh = 1 To lHeadLinesCount
                    objTxtFile.skipline
                Next
            End If
        End If
        'считываем все данные файла
        sTxt = objTxtFile.ReadAll
        If sAllTxt = "" Then
            sAllTxt = sTxt
        Else
            sAllTxt = sAllTxt & sTxt
        End If
        'закрываем текстовый файл
        objTxtFile.Close
    Next li
    'создаем новый файл и записываем в него все считанные с файлов данные
    Set objTxtFile = objFSO.CreateTextFile("C:AllText.txt", True)
    objTxtFile.WriteLine sAllTxt
    objTxtFile.Close
    Set objTxtFile = Nothing
    Set objFSO = Nothing
End Sub

Как использовать: Для начала надо убедиться, что разрешены макросы и при необходимости включить их: почему не работает макрос. Затем копируем код выше, из Excel переходим в редактор VBA(Alt+F11) —InsertModule. Вставляем туда скопированный код. Теперь код можно вызывать нажатием клавиш Alt+F8 -выделяем имя макросаВыполнить(Run).
Так же можно создать кнопку на листе для вызова кода: Как создать кнопку для вызова макроса на листе?.
После работы кода на диске «С» будет создан файл «AllText.txt», в котором и будут содержаться данные всех выбранных файлов.
Скачать пример

  Объединить все текстовые файлы.xls (55,0 KiB, 5 825 скачиваний)

Так же см.:
Сбор данных с нескольких листов/книг
Как собрать данные с нескольких листов или книг?


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Like this post? Please share to your friends:
  • Несколько файлов excel в pdf программа
  • Несколько файлов excel в access
  • Несколько условий поиска excel
  • Несколько условий на один столбец в excel
  • Несколько условий если или в excel в одной ячейке