팁 : 다른 언어는 Google 번역입니다. 방문하실 수 있습니다. English 이 링크의 버전.
로그인
x
or
x
x
회원가입
x

or

Excel에서 여러 csv / text / xml 파일을 일괄 적으로 가져 오는 방법은 무엇입니까?

Excel에서 통합 문서를 csv 파일, 텍스트 파일 또는 xml 파일로 저장하려고했지만 여러 csv / text / xml 파일을 폴더에서 통합 문서 나 워크 시트로 가져 오려고 시도한 적이 있습니까? 이 기사에서는 신속하게 일괄 가져 오기를 수행하는 몇 가지 방법을 소개합니다.

여러 텍스트 파일을 폴더에서 VBA를 사용하여 통합 문서의 각 워크 시트로 가져옵니다.

VBA를 사용하여 여러 csv 파일을 폴더에서 단일 시트로 가져 오기

여러 xml 파일을 폴더에서 VBA로 단일 시트로 가져 오기

여러 xml / csv 파일을 시트 또는 Excel 용 Kutools 통합 문서로 가져 오거나 결합합니다. 좋은 아이디어 3

Excel 용 Kutools가있는 폴더로 각 시트를 csv / text / pdf로 내 보냅니다.좋은 아이디어 3


여러 시트 / 통합 문서를 단일 시트 또는 통합 문서로 쉽게 결합

여러 시트 또는 통합 문서를 하나의 시트 또는 통합 문서로 결합하는 것은 Excel에서는 문제가 될 수 있지만 결합 Excel 용 Kutools의 기능을 사용하면 수십 개의 시트 / 통합 문서를 하나의 시트 또는 통합 문서로 병합 할 수 있으며 몇 번의 클릭만으로 시트를 하나로 통합 할 수 있습니다. 강함>모든 기능을 갖춘 30 일 무료 평가판을 보려면 클릭하십시오!
시트 합치기
Excel 용 Kutools : 300 이상의 편리한 Excel 추가 기능이 있으며 30 일에 제한없이 시도해보십시오.
Office 탭 Office에서 탭 편집 및 찾아보기를 사용하고 훨씬 쉽게 작업 할 수 있습니다 ...
Excel 용 Kutools는 대부분의 문제를 해결하고 생산성을 80 % 증가시킵니다.
  • 무엇이든 재사용하십시오 : 가장 많이 사용되거나 복잡한 수식, 차트 및 기타 항목을 즐겨 찾기에 추가하고 나중에 빠르게 재사용하십시오.
  • 20 이상의 텍스트 기능 : 텍스트 문자열에서 숫자 추출; 텍스트 일부 추출 또는 제거; 숫자와 통화를 영어 단어로 변환합니다.
  • 병합 도구: 여러 통합 문서 및 시트를 하나로 통합합니다. 데이터 손실없이 여러 셀 / 행 / 열 병합 중복 행 병합 및 합계
  • 분할 도구: 값을 기준으로 데이터를 여러 시트로 분할; 하나의 통합 문서에서 여러 Excel, PDF 또는 CSV 파일로; 하나의 열에서 여러 열로.
  • 건너 뛰기 붙여 넣기 숨겨진 / 필터링 된 행; 수와 합계 배경색 별; 여러 전자 메일 수신자에게 개인화 된 전자 메일 보내기
  • 수퍼 필터 : 고급 필터 구성표를 작성하고 모든 시트에 적용하십시오. 종류 주별, 일별, 빈도 등으로; FILTER 굵게, 수식, 주석으로 ...
  • 300 이상의 강력한 기능; Office 2007-2019 및 365와 호환됩니다. 모든 언어를 지원합니다. 기업이나 조직에 쉽게 배포 할 수 있습니다.


텍스트 파일을 폴더에서 통합 문서로 가져 오려면 아래 VBA를 사용하여 신속하게 처리 할 수 ​​있습니다.

1. 빈 통합 문서를 사용하고를 누릅니다. Alt + F11 열린 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. 클릭 끼워 넣다 > 모듈, 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

모든 CSV 파일을 하나의 시트에 폴더로 가져 오려면 아래 VBA 코드를 사용할 수 있습니다.

1. 빈 워크 시트를 활성화하고를 누릅니다. Alt + F11 열린 키 응용 프로그램 용 Microsoft Visual Basic 창.

2. 클릭 끼워 넣다 > 모듈, 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. 클릭 끼워 넣다 > 모듈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에 익숙하지 않은 경우 걱정하지 마십시오. 여기서는 편리한 도구를 소개합니다. Excel 용 Kutools 너를 위해서. 강력한 기능 결합 유틸리티를 사용하면 여러 xml 파일 또는 csv 파일을 하나의 통합 문서 또는 하나의 Excel 시트에 신속하게 결합 할 수 있습니다.

Excel 용 Kutools, 이상과 300 편리한 기능은 작업을보다 쉽게 ​​해줍니다.

설치 후 Excel 용 Kutools는 다음과 같이하십시오.(지금 Excel 용 무료 다운로드 Kutools!)

1. 활성 엑셀, 클릭 기업 > 결합. 스크린 샷보기 :
doc 결합 1

2. 그리고 결합 1 단계 대화 상자에서 필요에 따라 하나의 분리 옵션을 선택하십시오. 스크린 샷보기 :
doc 결합 2

3. 클릭 다음 것 가기 위해 결합의 2 단계클릭 추가 한 폴더의 여러 폴더 또는 파일의 파일을 추가하려면 통합 문서 목록을 만들고, 결합하려는 시트를 지정할 수도 있습니다. 워크 시트 오른쪽 섹션의 목록. 스크린 샷보기 :
doc 결합 3

4. 클릭 다음 것 마지막 한 걸음에 결합, 옵션을 지정할 수 있습니다.

1) 제목 행 번호를 지정하십시오

2) 워크 시트 정보 삽입 여부 결정

3) 공백 범위 건너 뛰기

4) 붙여 넣기 옵션 지정
doc 결합 4

5. 클릭새로운 결합 결과를 저장할 위치를 선택하라는 대화 상자가 나타납니다. 스크린 샷보기 :
doc 결합 5

6. 클릭 저장. 모든 추가 시트가 새로운 단일 시트로 결합되었습니다.
doc 결합 6

팁 :결합, 여러 항목을 결합 할 수도 있습니다. CSV 파일 여러 폴더 또는 하나의 폴더를 하나의 시트 또는 통합 문서로 구성하십시오.


각 시트를 csv / text / pdf 파일로 폴더로 내보내려면, Excel 용 Kutools스플릿 통합 문서 유틸리티는 당신을 위해 호의를 베풀 수 있습니다.

무료 설치 Excel 용 Kutools는 다음과 같이하십시오.

1. 해당 워크 시트를 내보낼 통합 문서를 활성화하고 기업 > 통합 문서 > 스플릿 통합 문서. 스크린 샷보기 :

doc 가져 오기 여러 csv 텍스트 xml 10

2. 에서 스플릿 통합 문서 대화 상자에서 내보낼 시트 이름을 확인할 수 있습니다. 기본적으로 모든 시트가 검사되고 저장 형식 지정 아래 드롭 다운 목록에서 저장할 파일 형식을 선택하십시오. 스크린 샷보기 :

doc 가져 오기 여러 csv 텍스트 xml 11

3. 클릭 스플릿 분할 된 파일을 저장할 폴더를 선택하십시오. 폴더 찾아보기 대화 상자, 스크린 샷보기 :

doc 가져 오기 여러 csv 텍스트 xml 12

4. 클릭 OK, 이제 모든 체크 된 시트가 선택된 폴더에서 새 파일 형식으로 내보내집니다.


신속하게 여러 XLSX를 변환합니다. 파일을 XLS 또는 PDF로 변환 할 수 있습니다. 한 번에 파일

대부분의 경우 XLSX와 XLS간에 변환하거나 통합 문서를 PDF 파일로 변환 할 수 있지만 Excel에서는 한 번에 한 통합 문서 만 변환 할 수 있습니다. 한 번에 여러 통합 문서를 변환 한 적이 있습니까? 와 Excel 용 Kutools's File Format Converter한 번에 여러 통합 문서를 pdf / 97-2003 통합 문서 / 2007 이상의 통합 문서로 변환하여 폴더에 저장하면 변환 된 보고서가 생성됩니다. 60 일 무료 평가판을 보려면 클릭하십시오!
doc 파일 변환기
Excel 용 Kutools : 300 이상의 편리한 Excel 추가 기능으로 60 일 동안 아무런 제한없이 사용해보십시오.

관련 기사 :


Excel 용 Kutools는 대부분의 문제를 해결하고 생산성을 80 % 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 수식, 차트 그리고 당신이 전에 사용했던 것; 셀 암호화 비밀번호로; 메일 링리스트 만들기 그리고 이메일을 보내 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집); 레이아웃 읽기 (많은 셀을 쉽게 읽고 편집); 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 분할 셀 내용; 중복 행 / 열 결합... 중복 세포 방지; 범위 비교...
  • 복제 또는 고유를 선택하십시오. 행; 빈 행 선택 (모든 세포는 비어있다); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 랜덤 선택 ...
  • 정확한 사본 공식 참조를 변경하지 않는 다중 셀; 참조 자동 작성 여러 장에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 소계 생성 및 인쇄; 셀 내용과 주석 간 변환...
  • 수퍼 필터 (필터 구성표를 저장하고 다른 시트에 적용); 고급 정렬 월 / 주 / 일별, 빈도 등; 특수 필터 대담하고 기울임 꼴로
  • 통합 문서와 WorkSheets 결합; 키 열을 기준으로 테이블 병합 데이터를 여러 시트로 분할; 일괄 변환 xls, xlsx 및 PDF...
  • 300 이상의 강력한 기능. Office / Excel 2007-2019 및 365를 지원합니다. 모든 언어를 지원합니다. 기업이나 조직에 쉽게 배포 할 수 있습니다. 30 일 무료 평가판 전체 기능.
kte 탭 201905

Office 탭 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, 게시자, 액세스, Visio 및 프로젝트.
  • 새 창보다는 동일한 창에서 새 탭으로 여러 문서를 열고 만들 수 있습니다.
  • 50 %만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
오피셜
Say something here...
symbols left.
You are guest ( Sign Up? )
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.
    Marshall Treynor · 4 months 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.
    Scott W · 5 months 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 · 5 months 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.
    Jake Howard · 8 months 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 · 1 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.
    Ramy Zahran · 1 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 · 1 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 · 1 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 · 1 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.
        Ramy Zahran · 1 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 · 1 years ago
    It worked! Thanks
  • To post as a guest, your comment is unpublished.
    Amanda · 1 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 · 1 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 · 1 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 · 1 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 · 1 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 · 1 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 · 1 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 · 2 years ago
    the code for converting from txt files did not work for me.
    • To post as a guest, your comment is unpublished.
      Sunny · 2 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 · 2 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 · 2 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 · 2 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 · 2 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 · 2 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 · 2 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!