Хитрости »
Основные понятия (23)
Сводные таблицы и анализ данных (9)
Графики и диаграммы (5)
Работа с VB проектом (12)
Power BI и Power Query (14)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (63)
Разное (38)
Баги и глюки Excel (2)

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

 

В общем-то проблема не такая распространенная, как сбор данных из нескольких файлов/листов в Excel, но все же. Решил вот написать, как просто и быстро можно из множества текстовых файлов собрать информацию в один новый текстовый файл. Притом это не потребует от Вас никаких усилий, кроме как нажатия кнопочки и выбора нужных файлов. Ну и скачивания файла с этой странички. Или ручной вставки кода в свою книгу. Собственно, сам код:

Sub Get_All_TXT_Text()
    Dim avFiles, li As Long
    avFiles = Application.GetOpenFilename("TXT Files(*.txt),*.txt", , , , True)
    If VarType(avFiles) = vbBoolean Then Exit Sub
    Dim objFSO As Object, objTxtFile As Object, sTxt, sAllTxt
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    For li = LBound(avFiles) To UBound(avFiles)
        Set objTxtFile = objFSO.OpenTextFile(avFiles(li), 1)
        sTxt = objTxtFile.ReadAll
        sAllTxt = sAllTxt & vbNewLine & sTxt
        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

Вот и все. Теперь этот код необходимо вставить в стандартный модуль. И либо создать кнопку на листе для его вызова(Как создать кнопку для вызова макроса на листе?), либо вызывать нажатием сочетания клавиш Alt+F8 -Get_All_TXT_Text -Выполнить.
После работы кода на диске "С" будет создан файл "AllText.txt", в котором и будут содержаться данные всех выбранных файлов.
Скачать пример

  Tips_Macro_Get_All_TXT_Text.xls (37,5 KiB, 4 734 скачиваний)

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


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

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

Access apple watch Multex Outlook Power Query и Power BI VBA работа в редакторе VBA управление кодами Бесплатные надстройки Дата и время Диаграммы и графики Записки Защита данных Интернет Картинки и объекты Листы и книги Макросы и VBA Надстройки Настройка Печать Поиск данных Политика Конфиденциальности Почта Программы Работа с приложениями Работа с файлами Разработка приложений Сводные таблицы Списки Тренинги и вебинары Финансовые Форматирование Формулы и функции Функции Excel Функции VBA Ячейки и диапазоны акции MulTEx анализ данных баги и глюки в Excel ссылки
Обсуждение: 26 комментариев
  1. babkakoshka:

    Спасибо большое. Поменяла в коде txt на csv - тоже обьединяет

  2. Александр:

    Дмитрий, отличный макрос! Но есть огромная проблема - создает дополнительные абзацы. Это неисправимо?

  3. Александр:

    А можно без диалогового окна? Как-то напрямую задать в макросе выбор всех файлов из папки?

  4. Бахтияр:

    Добрый день! Спасибо за код. У меня 2 вопроса:

    1) Подскажите пожалуйста почему при объединений файлов 1 строка и последняя строка выходят пустыми, как можно сделать что бы они не были пустыми?

    2) Как можно выбирать 2 txt файла из разных папок? На данный момент я могу выбирать только из одной папки 2 txt файла, когда выбираю первый и перехожу к другой папки, у меня выбирает только последний.

    Заранее спасибо за помощь.

Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Тренинги

Заказать
Юридическая информация

Использование материалов сайта

Политика Конфиденциальности

ИП Щербаков Дмитрий Валентинович
ОГРНИП: 318502700083307
ИНН: 504013350772

Наши партнеры

Перейти
Перейти

Счетчики

Рейтинг@Mail.ru Яндекс.Метрика
© 2018 Excel для всех   Войти