Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як швидко пакетно імпортувати декілька файлів csv / text / xml в Excel?

У програмі Excel ви, можливо, зв’язані, щоб зберегти книгу як файл CSV, текстовий файл або XML-файл, але чи намагались ви коли-небудь імпортувати кілька файлів CSV / text / XML із папки в книгу чи аркуш? У цій статті я представляю деякі методи швидкого пакетного імпорту.

Імпортуйте кілька текстових файлів із папки на кожний аркуш книги з VBA

Імпортуйте кілька файлів CSV з папки на один аркуш за допомогою VBA

Імпортуйте кілька файлів xml із папки на один аркуш за допомогою VBA

Імпортуйте або об’єднайте кілька файлів xml / csv на аркуші або в книгу за допомогою Kutools для Excel гарна ідея3

Експортуйте кожен аркуш у форматі csv / text / pdf у папку з Kutools для Excelгарна ідея3


Щоб імпортувати текстові файли з папки до книги, ви можете скористатися нижче VBA, щоб швидко обробити це.

1. Увімкніть порожню книгу та натисніть Alt + F11 клавіші, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модуліта вставте VBA в Модулі вікна.

VBA: Імпортуйте всі текстові файли з папки до книги

Sub LoadPipeDelimitedFiles()
'UpdatebyKutoolsforExcel20151214
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    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
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\*.txt")
    Do While xFile <> ""
        xCount = xCount + 1
        Sheets(xCount).Select
        With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
          & xStrPath & "\" & xFile, Destination:=Range("A1"))
            .Name = "a" & xCount
            .FieldNames = True
            .RowNumbers = False
            .FillAdjacentFormulas = False
            .PreserveFormatting = True
            .RefreshOnFileOpen = False
            .RefreshStyle = xlInsertDeleteCells
            .SavePassword = False
            .SaveData = True
            .AdjustColumnWidth = True
            .RefreshPeriod = 0
            .TextFilePromptOnRefresh = False
            .TextFilePlatform = 437
            .TextFileStartRow = 1
            .TextFileParseType = xlDelimited
            .TextFileTextQualifier = xlTextQualifierDoubleQuote
            .TextFileConsecutiveDelimiter = False
            .TextFileTabDelimiter = False
            .TextFileSemicolonDelimiter = False
            .TextFileCommaDelimiter = False
            .TextFileSpaceDelimiter = False
            .TextFileOtherDelimiter = "|"
            .TextFileColumnDataTypes = Array(1, 1, 1)
            .TextFileTrailingMinusNumbers = True
            .Refresh BackgroundQuery:=False
            xFile = Dir
        End With
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files txt", , "Kutools for Excel"
End Sub

3. прес F5 ключ або прогін , щоб запустити VBA, і виберіть діалогове вікно, в яке потрібно імпортувати текстові файли. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 1

4. І клацніть OK, а кожен текстовий файл у вибраній папці імпортовано на один аркуш активної книги. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 2doc імпортувати кілька CSV-текст xml 3

Легко об’єднайте кілька аркушів / робочу книгу в один аркуш або книгу

Об'єднання кількох аркушів або книг в один аркуш або книгу може бути непростим в Excel, але з Поєднувати функція в Kutools для Excel, ви можете об'єднати десятки аркушів / робочих книг в один аркуш або книгу, а також, ви можете об'єднати аркуші в один лише декількома клацаннями.  Натисніть, щоб отримати повнофункціональну 30-денну безкоштовну пробну версію!
комбінувати аркуші
 
Kutools для Excel: з більш ніж 300 зручними надбудовами Excel, ви можете спробувати без обмежень протягом 30 днів.

Щоб імпортувати всі файли csv з папки на один аркуш, ви можете використовувати код VBA нижче.

1. Увімкніть порожній аркуш і натисніть Alt + F11 клавіші, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модулі, і вставте нижче VBA в новий Модулі вікна.

VBA: Імпортуйте файли CSV з папки на один аркуш

Sub ImportCSVsWithReference()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    On Error GoTo ErrHandler
    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
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then xSht.UsedRange.Clear
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Columns(1).Insert xlShiftToRight
        Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Range("A" & Rows.Count).End(xlUp).Offset(1)
        xWb.Close False
        xFile = Dir
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub

3. прес F5 клавішу або клацніть прогін для запуску VBA, і з'явиться діалогове вікно для вибору папки, з якої потрібно імпортувати всі файли csv. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 4

4. клацання OK, і з’явиться діалогове вікно, щоб нагадати вам, чи очистити вміст активного аркуша перед імпортом, тут я натискаю да. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 5

Після натискання да, усі файли csv у вибраній папці імпортуються до поточного аркуша та розміщують дані зі стовпця A праворуч. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 6doc імпортувати кілька CSV-текст xml 7

Порада: Якщо ви хочете розмістити файли CSV горизонтально на аркуші, ви можете використовувати нижче VBA.

Sub ImportCSVsWithReferenceI()
'UpdatebyKutoolsforExcel20151214
    Dim xSht  As Worksheet
    Dim xWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    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
    Set xSht = ThisWorkbook.ActiveSheet
    If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Kutools for Excel") = vbYes Then
        xSht.UsedRange.Clear
        xCount = 1
    Else
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    End If
    Application.ScreenUpdating = False
    xFile = Dir(xStrPath & "\" & "*.csv")
    Do While xFile <> ""
        Set xWb = Workbooks.Open(xStrPath & "\" & xFile)
        Rows(1).Insert xlShiftDown
        Range("A1") = ActiveSheet.Name
        ActiveSheet.UsedRange.Copy xSht.Cells(1, xCount)
        xWb.Close False
        xFile = Dir
        xCount = xSht.Cells(3, Columns.Count).End(xlToLeft).Column + 1
    Loop
    Application.ScreenUpdating = True
    Exit Sub
ErrHandler:
    MsgBox "no files csv", , "Kutools for Excel"
End Sub 

doc імпортувати кілька CSV-текст xml 8


Якщо ви хочете імпортувати всі XML-файли з папки на один аркуш, ви можете використовувати код VBA нижче.

1. Виберіть чистий аркуш, куди потрібно розмістити імпортовані дані, і натисніть Alt + F11 клавіші для ввімкнення Microsoft Visual Basic для додатків вікна.

2. клацання Insert > Модулі, вставте код VBA в Модулі вікна.

VBA: Імпорт XML-файлів із папки на робочий аркуш.

Sub From_XML_To_XL()
'UpdatebyKutoolsforExcel20151214
    Dim xWb As Workbook
    Dim xSWb As Workbook
    Dim xStrPath As String
    Dim xFileDialog As FileDialog
    Dim xFile As String
    Dim xCount As Long
    On Error GoTo ErrHandler
    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
    Application.ScreenUpdating = False
    Set xSWb = ThisWorkbook
    xCount = 1
    xFile = Dir(xStrPath & "\*.xml")
    Do While xFile <> ""
        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)
        xWb.Sheets(1).UsedRange.Copy xSWb.Sheets(1).Cells(xCount, 1)
        xWb.Close False
        xCount = xSWb.Sheets(1).UsedRange.Rows.Count + 2
        xFile = Dir()
    Loop
    Application.ScreenUpdating = True
    xSWb.Save
    Exit Sub
ErrHandler:
    MsgBox "no files xml", , "Kutools for Excel"
End Sub

3. клацання прогін кнопка або F5 клавішу для запуску VBA і виберіть папку в діалоговому вікні, що з’явиться, див. знімок екрана:

doc імпортувати кілька CSV-текст xml 9

4. клацання OK, а всі файли XML у вибраній папці імпортуються в активний аркуш.


Якщо ви не знайомі з VBA, хвилюйтеся, тут я представляю вам зручний інструмент - Kutools для Excel для вас. З його потужним Поєднувати Утиліта, ви можете швидко об'єднати кілька файлів XML або CSV-файлів в одну книгу або один аркуш Excel.

Kutools для Excel, з більш ніж 300 зручні функції, полегшує вам роботу. 

після установки Kutools для Excel, будь-ласка, виконайте наведені нижче дії:(Безкоштовно завантажте Kutools для Excel зараз!)

1. Активний Excel і натисніть Kutools Plus > Поєднувати. Див. Скріншот:
doc об'єднати 1

2. І в крок 1 Combine діалоговому вікні, виберіть один із варіантів розділення, як вам потрібно. Дивіться знімок екрана:
doc об'єднати 2

3. клацання наступного для переходу до крок 2 комбайна, Натисніть додавати щоб додати файли з різних папок або файли з однієї папки в робочий зошит списку, а також ви можете вказати аркуші, з яких ви хочете об'єднати Робочий аркуш список правого розділу. Дивіться знімок екрана:
doc kutools поєднують аркуші 3

4. клацання наступного до останнього кроку Поєднувати, і ви можете вказати параметри комбінування.
doc kutools поєднують аркуші 4

5. клацання обробка, спливає діалогове вікно, щоб нагадати вам про вибір місця для збереження нового комбінованого результату. Дивіться знімок екрана:
doc об'єднати 5

6. клацання зберегти. Усі додані аркуші об’єднані в новий єдиний аркуш.
doc об'єднати 6

Порада: з Поєднувати, Ви також можете поєднувати декілька Файли CSV формуйте декілька папок або одну папку на одному аркуші або в книзі.


Якщо ви хочете експортувати кожен аркуш як файл csv / text / pdf до папки, Kutools для ExcelАвтора Роздільна робоча книга утиліта може зробити для вас послугу.

після безкоштовна установка Kutools для Excel, будь-ласка, виконайте наведені нижче дії:

1. Увімкніть книгу, для якої потрібно експортувати її аркуші, та натисніть Kutools Plus > робочий зошит > Роздільна робоча книга. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 10

2 В Роздільна робоча книга діалогове вікно, ви можете перевірити назви аркушів, які вам потрібно експортувати, за замовчуванням всі аркуші перевіряються та перевіряють Вкажіть формат збереження і виберіть формат файлу, який потрібно зберегти, як показано нижче, у розкривному списку. Дивіться знімок екрана:

doc імпортувати кілька CSV-текст xml 11

3. клацання розщеплений і виберіть папку для збереження розділених файлів у Знайдіть папку діалогове вікно, див. знімок екрана:

doc імпортувати кілька CSV-текст xml 12

4. клацання OK, тепер усі перевірені аркуші експортуються як новий формат файлу у вибрану папку.


Відносні статті:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Christian Schütz · 4 months ago
    Hi there,
    this is a great tool, but I want to import the various XMl-Files into separate TAB-sheets. Is this possible as the XML's have different header ?
  • To post as a guest, your comment is unpublished.
    JPaweslki · 1 years ago
    Hello
    The instructions for importing multiple xmls into one tab of an excel document works but was wondering how to get it to line up the columns. My xmls don't all have the same tags. They are set up such that if the xml had no data for some headers(tags) then the header is missing from that xml. Is there a way to get the xmls to import so the same headers from each xml and associated data fall into the same column of excel?
  • To post as a guest, your comment is unpublished.
    dinanshu.dua@motorolasolutions.com · 1 years ago
    Hi Experts

    I am using the above code for importing multiple xml files into 1 worksheet using VBA however issue i am facing is when rows count reaches 650000 in a worksheet then this code doesn't process rest of the xml files in the folder. It gives an error "no files.xml". Require your kind support
  • To post as a guest, your comment is unpublished.
    Dinanshu Dua · 1 years ago
    Hi Team

    I am using the code for importing Multiple XML files into single sheet with VBA however issue i am facing is when rows count reaches approximately 650000, then it doesn't processes rest of the xml files in the folder and gives an error that no xml files. Need your support to increase this count.
  • To post as a guest, your comment is unpublished.
    Simone · 1 years ago
    Hi, is there any way to import multiple csv files with semicolon as separator? Thank you!
    PS Nice article!
  • To post as a guest, your comment is unpublished.
    marshalltreynor · 2 years ago
    Hello - I've used your VBA codes to extract data from multiple CSV files to excel file (the code on this page) and convert csv files to excel files ( this one: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), with great results. They helped me save a lot of time.

    However, I notice a common problem with both of these types of codes. To clarify, my system is set up to use the European standards for dates, while some of the CSV files I received for my work contain dates in US standards. The first problem is, when I extract or convert data from a CSV file that contains dates in US format, all of those dates are reversed (matching the EU standards used by my system). This is great but it also caused me troubles since I didn't know the codes would reverse the dates for me, so I went on ahead and did the same thing again. The second problem is, for the CSV files that contain dates already in the same format as the one used by my system (EU standards), only the ambiguous dates are reversed (i.e 04/05/2019 - 05/04/2019), while the ones that are too obvious, remain unchanged (i.e 30/04/2019).

    What I would like the codes to do, is the exact same thing as they are shown here, only that they should copy and paste the data (especially dates) in the exact formats used in the original files. This would help prevent any possible confusions and mistakes. I would like to learn VBA so I can one day write my own codes, but for now, I'm not even able to modify parts of the existing codes to suit my needs. So if you can help, please tell me where I should put the modified codes (that you come up with) to the existing codes. I appreciate all feedback & support I can get. Thank you all!
    • To post as a guest, your comment is unpublished.
      Robert · 2 years ago
      Hi Marshall, in the Workbooks.Open method, add in the option Local:=True.

      i.e.
      Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
      • To post as a guest, your comment is unpublished.
        marshalltreynor · 1 years ago
        Hi Robert,

        It's me again. It took me a while to actually have the time to figure out which part of the code the "Local:True" part should be added to. The result turned out great as the dates are no longer reversed. Thank you!

        For anyone having the same problem, just change this line:

        Set xWb = Workbooks.OpenXML(xStrPath & "\" & xFile)

        To this:

        Set xWb = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
      • To post as a guest, your comment is unpublished.
        marshalltreynor · 1 years ago
        Thank you very much Robert. Sorry I couldn't reply to you any earlier. I didn't get any notification until now. I will try this out and come back to you later to let you know if this works.
  • To post as a guest, your comment is unpublished.
    Scott W · 2 years ago
    Hi - I'm using the import all csv files into one file listed above "Import Multiple Csv Files From A Folder Into A Single Sheet With VBA"- i'd like to define the folder it collects the data from without having to manually choose it. Can this be done? thanks - SW.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 years ago
      Hi, Scott W, I found a VBA code may can help you.
      Option Explicit

      Sub ImportCSVsWithReference()
      'Author: Jerry Beaucaire
      'Date: 10/16/2010
      'Summary: Import all CSV files from a folder into a single sheet
      ' adding a field in column A listing the CSV filenames

      Dim wbCSV As Workbook
      Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
      Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'path to CSV files, include the final \
      Dim fCSV As String

      If MsgBox("Clear the existing sheet before importing?", vbYesNo, "Clear?") _
      = vbYes Then wsMstr.UsedRange.Clear

      Application.ScreenUpdating = False 'speed up macro

      fCSV = Dir(fPath & "*.csv") 'start the CSV file listing

      Do While Len(fCSV) > 0
      'open a CSV file
      Set wbCSV = Workbooks.Open(fPath & fCSV)
      'insert col A and add CSV name
      Columns(1).Insert xlShiftToRight
      Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
      'copy date into master sheet and close source file
      ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
      wbCSV.Close False
      'ready next CSV
      fCSV = Dir
      Loop

      Application.ScreenUpdating = True
      End Sub
      • To post as a guest, your comment is unpublished.
        bisht_ravindra · 1 years ago
        How to eliminate duplicate header and CSV file name column. Please do help....I have gone through several articles, but unfortunately all give same result.
  • To post as a guest, your comment is unpublished.
    Jake Howard · 2 years ago
    Thank you. This site has been a big help. I have one issue I cannot figure out. I am trying to import multiple csv files into an excel separate sheets in excel and have each sheet renamed after the file name of the csv file. I know this was covered below for a txt file but I am working with csv files. Thanks in advance.
  • To post as a guest, your comment is unpublished.
    Shea · 3 years ago
    Hi! I used the code to merge multiple XML files into one, but unfortunately the columns got messed up. The 5 files being merged all had the same format. Is there anyway to fix this? I also was wondering if there was a way to get rid of the headers that are duplicated when the files are merged. Thank you!
  • To post as a guest, your comment is unpublished.
    ramy0zahran@gmail.com · 3 years ago
    i have code to import txts to sheets each txt to each sheet, but i want every txt be imported with its name to sheet , i mean rename every imported sheet with the name of the txt the code file attatched .. thanks
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Hello, Ramy, zahran, you can try below code which can import the text files and rename the sheet name to the text file name.
      Sub LoadPipeDelimitedFiles()
      'UpdatebyExtendoffice20180925
      Dim xStrPath As String
      Dim xFileDialog As FileDialog
      Dim xFile As String
      Dim xCount As Long
      Dim xWS As Worksheet

      On Error GoTo ErrHandler
      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
      Application.ScreenUpdating = False
      xFile = Dir(xStrPath & "\*.txt")
      Do While xFile <> ""
      xCount = xCount + 1
      Set xWS = Sheets(xCount)
      xWS.Select
      xWS.Name = "TEXT " & Left(xFile, Len(xFile) - 4)
      With ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
      & xStrPath & "\" & xFile, Destination:=Range("A1"))
      .Name = "a" & xCount
      .FieldNames = True
      .RowNumbers = False
      .FillAdjacentFormulas = False
      .PreserveFormatting = True
      .RefreshOnFileOpen = False
      .RefreshStyle = xlInsertDeleteCells
      .SavePassword = False
      .SaveData = True
      .AdjustColumnWidth = True
      .RefreshPeriod = 0
      .TextFilePromptOnRefresh = False
      .TextFilePlatform = 437
      .TextFileStartRow = 1
      .TextFileParseType = xlDelimited
      .TextFileTextQualifier = xlTextQualifierDoubleQuote
      .TextFileConsecutiveDelimiter = False
      .TextFileTabDelimiter = False
      .TextFileSemicolonDelimiter = False
      .TextFileCommaDelimiter = False
      .TextFileSpaceDelimiter = False
      .TextFileOtherDelimiter = "|"
      .TextFileColumnDataTypes = Array(1, 1, 1)
      .TextFileTrailingMinusNumbers = True
      .Refresh BackgroundQuery:=False
      xFile = Dir
      End With
      Loop
      Application.ScreenUpdating = True
      Exit Sub
      ErrHandler:
      MsgBox "no files txt", , "Kutools for Excel"
      End Sub
  • To post as a guest, your comment is unpublished.
    rendy · 3 years ago
    hello, saya mau tanya kalo impor txt file ke satu sheet gimana ya?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      Hello, rendy, would you want to import all txts to one sheet or each txt to each sheet?
      • To post as a guest, your comment is unpublished.
        ramy0zahran@gmail.com · 3 years ago
        i have code to import txts to sheets each txt to each sheet, but i want every txt be imported with its name to sheet , i mean rename every imported sheet with the name of the txt the code file attatched .. i want to edit this file to add code for renaming sheets with txts name ... thanks.
  • To post as a guest, your comment is unpublished.
    Hey · 3 years ago
    It worked! Thanks
  • To post as a guest, your comment is unpublished.
    Amanda · 3 years ago
    Hello, I tried running the code for .xml and it didn't appear to work as I got the message "no files xml". How do fix this?
    • To post as a guest, your comment is unpublished.
      Sunny · 3 years ago
      It will pop a message"no files xml" while your selected folder do not contain the xml files. You can select the right folder which contains xml files in popping dialog after run the code for importing them to the active sheet.
  • To post as a guest, your comment is unpublished.
    see · 3 years ago
    Totally amazing! Tried the open all csv files in one worksheet and it worked beautifully. Thanks so much, really!
  • To post as a guest, your comment is unpublished.
    Chad · 4 years ago
    Mike: "the code for converting from txt files did not work for me."

    I had the same problem.The macro errors out if you have more txt files to open than worksheets in your workbook (default is 3).
    I fixed it by adding the following just before the loop exits so the macro creates a new sheet after the rest
    ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
    • To post as a guest, your comment is unpublished.
      AJ · 3 years ago
      Chad, This perfectly worked for me to import multiple text files. Thank you.

      Do you know if there is a way to pull the file names? I want the text file names copied into each excel sheet tabs.
  • To post as a guest, your comment is unpublished.
    zoi · 4 years ago
    Hi! The code "Import csv files from a folder into one worksheet", works for me! But this code doesn't work for an empty .txt file. Is there any way to keep also the empty files?
    • To post as a guest, your comment is unpublished.
      Sunny · 4 years ago
      Sorry, I do not know why need to import an empty txt.file~Just insert blank rows to seperate the contents.
  • To post as a guest, your comment is unpublished.
    Mike · 4 years ago
    the code for converting from txt files did not work for me.
    • To post as a guest, your comment is unpublished.
      Sunny · 4 years ago
      Sorry this article do not work for you. Could you describe you problem? What happen while runing the code? And what system you work?
  • To post as a guest, your comment is unpublished.
    Patrick · 4 years ago
    Problem with this is that it the VBA command nor Kutools allows to import the csv files with character code formating. The preload is western. I need to import all the csv files as unicode-8
  • To post as a guest, your comment is unpublished.
    Abdissattar · 4 years ago
    Hi,I would like to understand about the VBA code for "Importing Multiple .txt files from a folder to a single sheet with VBA " by next available row (not horizontal). Please help,urgent
    • To post as a guest, your comment is unpublished.
      Sunny · 4 years ago
      Hello, if you want to import all txt files from one folder to a single sheet, you can using the above vba code to import txt files to a workbook first, then apply Kutools for Excel's Combine Worksheets feature to combine all sheets of a workbook to one sheet, then the txt files in a sheet. Hope it helps u.
  • To post as a guest, your comment is unpublished.
    XY · 4 years ago
    Hi,

    I would like to understand about the VBA code for "Import Multiple Xml Files From A Folder Into A Single Sheet With VBA".
    1. Why are 2 workbooks needed instead of 1?
    2. It is taking some time to load many xml files into excel, so is there a more efficient code? Because i realise when your code was run, many VBA workbook is created which caused the slowdown.

    I would really appreciate if you can help me to understand!
    • To post as a guest, your comment is unpublished.
      Sunny · 4 years ago
      Sorry, I did not understand ur first one question, and about the second one, the more effeicent code, I have not found it, if you know, please leave a note for me, thanks.
  • To post as a guest, your comment is unpublished.
    Thomas · 4 years ago
    Hi there, thank you very much for those code samples! The first one (VBA: Import all text files from a folder into a workbook) is almost exactly what I need. I would like, however, to select which files to import and not automatically import all the text files in any given folder. I would also like the exiting contents of my target sheets to be overwritten by the contents of the text files. (With the code above, the existing contents is shifted to the right instead of being replaced.)
    How do I go about that?
    Thanks in advance!