Note: The other languages of the website are Google-translated. Back to English

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

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

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

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

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

Excel 용 Kutools를 사용하여 여러 xml / csv 파일을 시트 또는 통합 문서로 가져 오거나 결합 좋은 생각 3

Excel 용 Kutools를 사용하여 각 시트를 csv / text / pdf로 폴더에 내보내기좋은 생각 3


폴더에서 통합 문서로 텍스트 파일을 가져 오려면 아래 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를 실행하고 팝업 대화 상자에서 텍스트 파일을 가져올 폴더를 선택하십시오. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 1

4. 그리고 클릭 OK, 선택한 폴더의 각 텍스트 파일을 활성 통합 문서의 하나의 워크 시트로 가져 왔습니다. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 2문서 가져 오기 여러 CSV 텍스트 XML 3

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

여러 시트 또는 통합 문서를 하나의 시트 또는 통합 문서로 결합하는 것은 Excel에서 지루할 수 있지만 결합 Excel 용 Kutools의 기능을 사용하면 수십 개의 시트 / 통합 문서를 하나의 시트 또는 통합 문서로 병합 할 수 있으며 몇 번의 클릭만으로 시트를 하나로 통합 할 수 있습니다.  모든 기능을 보려면 클릭 30 일 무료 평가판!
시트 결합
 
Excel용 Kutools: 300개 이상의 편리한 Excel 추가 기능으로 제한 없이 무료로 사용해 볼 수 있습니다. 30 일.

모든 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 파일을 가져올 폴더를 선택하는 대화 상자가 나타납니다. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 4

4. 클릭 OK을 클릭하면 가져 오기 전에 활성 워크 시트의 내용을 지 울지 알려주는 대화 상자가 나타납니다. 여기에서 가능. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 5

클릭하면 가능, 선택한 폴더의 모든 csv 파일을 현재 시트로 가져오고 A 열의 데이터를 오른쪽에 배치합니다. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 6문서 가져 오기 여러 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 

문서 가져 오기 여러 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를 실행하고 팝업 대화 상자에서 폴더를 선택합니다. 스크린 샷 참조 :

문서 가져 오기 여러 CSV 텍스트 XML 9

4. 클릭 OK, 선택한 폴더의 모든 XML 파일을 활성 시트로 가져옵니다.


VBA에 익숙하지 않더라도 걱정하지 마십시오. 여기에 편리한 도구를 소개합니다. Excel 용 Kutools 당신을 위해. 강력한 결합 유틸리티를 사용하면 여러 xml 파일 또는 csv 파일을 하나의 통합 문서 또는 하나의 Excel 시트로 빠르게 결합 할 수 있습니다.

Excel 용 Kutools, 이상과 300 편리한 기능으로 작업이 더 쉬워집니다. 

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

1. 활성 Excel을 클릭하고 쿠툴즈 플러스 > 결합. 스크린 샷보기 :
문서 결합 1

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

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

4. 클릭 다음 마지막 한 단계까지 결합, 결합 옵션을 지정할 수 있습니다.
doc kutools 결합 시트 4

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

6. 클릭 찜하기. 모든 추가 시트가 새 단일 시트로 결합되었습니다.
문서 결합 6

팁 :결합, 여러 CSV 파일 여러 폴더 또는 하나의 폴더를 하나의 시트 또는 통합 문서로 만듭니다.


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

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

1. 워크 시트를 내보낼 통합 문서를 활성화하고 쿠툴즈 플러스 > 통합 문서 > 통합 문서 분할. 스크린 샷보기 :

문서 가져 오기 여러 CSV 텍스트 XML 10

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

문서 가져 오기 여러 CSV 텍스트 XML 11

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

문서 가져 오기 여러 CSV 텍스트 XML 12

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


관련 기사 :


최고의 사무 생산성 도구

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

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

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (36)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 그 코드 샘플에 대해 대단히 감사합니다! 첫 번째 것(VBA: 모든 텍스트 파일을 폴더에서 통합 문서로 가져오기)이 내가 필요한 것과 거의 일치합니다. 그러나 가져올 파일을 선택하고 지정된 폴더의 모든 텍스트 파일을 자동으로 가져오지 않도록 하고 싶습니다. 또한 대상 시트의 기존 내용을 텍스트 파일의 내용으로 덮어쓰고 싶습니다. (위의 코드를 사용하면 기존 내용이 바뀌지 않고 오른쪽으로 이동합니다.) 어떻게 해야 하나요? 미리 감사드립니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, "폴더에서 VBA가 있는 단일 시트로 여러 Xml 파일 가져오기"에 대한 VBA 코드에 대해 알고 싶습니다. 1. 2개가 아닌 1개의 통합 문서가 필요한 이유는 무엇입니까? 2. 많은 xml 파일을 엑셀로 불러오는데 시간이 좀 걸리는데 더 효율적인 코드는 없을까요? 코드가 실행되었을 때 많은 VBA 통합 문서가 생성되어 속도가 느려졌음을 깨달았습니다. 이해를 도와주시면 정말 감사하겠습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
죄송합니다. 첫 번째 질문을 이해하지 못했습니다. 두 번째 질문에 대해 더 효율적인 코드를 찾지 못했습니다. 아시는 분은 쪽지 남겨주시면 감사하겠습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 다음 사용 가능한 행(가로가 아님)을 기준으로 "VBA를 사용하여 폴더에서 여러 .txt 파일을 단일 시트로 가져오기"에 대한 VBA 코드에 대해 알고 싶습니다. 도와주세요 긴급
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 한 폴더의 모든 txt 파일을 단일 시트로 가져오려면 위의 vba 코드를 사용하여 먼저 txt 파일을 통합 문서로 가져온 다음 Excel용 Kutools의 워크시트 결합 기능을 적용하여 통합 문서의 모든 시트를 한 시트, 다음 시트의 txt 파일. 도움이 되기를 바랍니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것의 문제는 VBA 명령이나 Kutools가 문자 코드 형식으로 csv 파일을 가져올 수 있다는 것입니다. 예압은 서부입니다. 모든 csv 파일을 유니코드-8로 가져와야 합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
txt 파일에서 변환하는 코드가 작동하지 않았습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
죄송합니다. 이 기사는 귀하에게 적합하지 않습니다. 당신의 문제를 설명할 수 있습니까? 코드를 실행하는 동안 어떤 일이 발생합니까? 그리고 당신이 일하는 시스템은 무엇입니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕! "폴더에서 하나의 워크시트로 csv 파일 가져오기" 코드가 저에게 효과적입니다! 그러나 이 코드는 빈 .txt 파일에 대해서는 작동하지 않습니다. 빈 파일도 보관할 수 있는 방법이 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
죄송합니다. 빈 txt.file을 가져와야 하는 이유를 모르겠습니다~내용을 구분하기 위해 빈 행을 삽입하기만 하면 됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Mike: "txt 파일에서 변환하는 코드가 작동하지 않습니다."

동일한 문제가 있습니다. 통합 문서의 워크시트보다 열 txt 파일이 더 많으면 매크로 오류가 발생합니다(기본값은 3).
루프가 종료되기 직전에 다음을 추가하여 수정했습니다. 그래서 매크로는 나머지 후에 새 시트를 생성합니다.
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Chad, 이것은 여러 텍스트 파일을 가져올 때 완벽하게 작동했습니다. 고맙습니다.

파일 이름을 가져오는 방법이 있는지 알고 있습니까? 텍스트 파일 이름을 각 Excel 시트 탭에 복사하고 싶습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 놀랍습니다! 하나의 워크시트에서 열려 있는 모든 csv 파일을 시도했고 아름답게 작동했습니다. 정말 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, .xml에 대한 코드를 실행하려고 시도했지만 "no files xml" 메시지가 표시되어 작동하지 않는 것 같습니다. 어떻게 수정합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
선택한 폴더에 xml 파일이 없는 동안 "xml 파일 없음" 메시지가 표시됩니다. 활성 시트로 가져오기 위한 코드를 실행한 후 팝업 대화 상자에서 xml 파일이 포함된 올바른 폴더를 선택할 수 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
그것은 효과가있다! 감사
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, saya mau tanya kalo import txt 파일 ke satu sheet gimana ya?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, rendy, 모든 txt를 한 시트로 가져오시겠습니까 아니면 각 txt를 각 시트로 가져오시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
txt를 시트로 가져오는 코드가 있습니다. 각 txt는 각 시트에 있지만 모든 txt는 이름과 함께 시트로 가져오기를 원합니다. 즉, 가져온 모든 시트의 이름을 txt의 이름으로 변경하고 코드 파일이 첨부된 .. 이것을 편집하고 싶습니다. txt 이름으로 시트 이름을 바꾸는 코드를 추가하는 파일 ... 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
나는 txt를 시트로 가져오는 코드를 가지고 있는데 각 txt는 각 시트에 있지만 모든 txt는 이름과 함께 시트로 가져오기를 원합니다. 즉, 가져온 모든 시트의 이름을 txt의 이름으로 바꿉니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, Ramy, zahran, 텍스트 파일을 가져오고 시트 이름을 텍스트 파일 이름으로 바꿀 수 있는 아래 코드를 시도할 수 있습니다.
하위 LoadPipeDelimitedFiles()
'업데이트바이Extendoffice20180925
Dim xStrPath를 문자열로
Dim xFileDialog As FileDialog
Dim xFile을 문자열로
Dim xCount As Long
Dim xWS를 워크시트로

오류 시 이동 ErrHandler
xFileDialog 설정 = Application.FileDialog(msoFileDialogFolderPicker)
xFileDialog.AllowMultiSelect = 거짓
xFileDialog.title = "[Kutools for Excel] 폴더 선택"
xFileDialog.Show = -1이면
xStrPath = xFileDialog.SelectedItems(1)
END IF
xStrPath = ""이면 Sub 종료
Application.ScreenUpdating = False
xFile = Dir(xStrPath & "\*.txt")
Do While xFile <> ""
x카운트 = x카운트 + 1
xWS = Sheets(xCount) 설정
xWS.선택
xWS.Name = "텍스트" & 왼쪽(xFile, Len(xFile) - 4)
ActiveSheet.QueryTables.Add(Connection:="TEXT;" _
& xStrPath & "\" & xFile, Destination:=Range("A1"))
.이름 = "a" & xCount
.FieldNames = 참
.RowNumbers = 거짓
.FillAdjacentFormulas = 거짓
.PreserveFormatting = True
.RefreshOnFileOpen = 거짓
.RefreshStyle = xlInsertDeleteCells
.SavePassword = 거짓
.SaveData = 참
.AdjustColumnWidth = 참
.RefreshPeriod = 0
.TextFilePromptOnRefresh = 거짓
.텍스트 파일 플랫폼 = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = 거짓
.TextFileTabDelimiter = 거짓
.TextFileSemicolonDelimiter = 거짓
.TextFileCommaDelimiter = 거짓
.TextFileSpaceDelimiter = 거짓
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = 배열(1, 1, 1)
.TextFileTrailingMinusNumbers = 참
.Refresh BackgroundQuery:=거짓
xFile = 디렉토리

고리
Application.ScreenUpdating = True
서브 종료
오류 핸들러:
MsgBox "txt 파일 없음", "Excel용 Kutools"
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕! 코드를 사용하여 여러 XML 파일을 하나로 병합했지만 불행히도 열이 엉망이었습니다. 병합되는 5개의 파일은 모두 동일한 형식을 가졌습니다. 이 문제를 해결할 방법이 있습니까? 또한 파일을 병합할 때 중복되는 헤더를 제거하는 방법이 있는지 궁금합니다. 고맙습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
고맙습니다. 이 사이트가 큰 도움이 되었습니다. 알 수 없는 문제가 하나 있습니다. 여러 csv 파일을 Excel의 별도 시트로 가져오려고 하고 각 시트의 이름을 csv 파일의 파일 이름으로 바꾸려고 합니다. 나는 이것이 txt 파일에 대해 아래에서 다루어졌다는 것을 알고 있지만 csv 파일로 작업하고 있습니다. 미리 감사드립니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 - "VBA를 사용하여 폴더에서 여러 CSV 파일 가져오기" 위에 나열된 하나의 파일로 모든 csv 파일 가져오기를 사용하고 있습니다. 수동으로 선택하지 않고도 데이터를 수집하는 폴더를 정의하고 싶습니다. 그것. 이것이 가능합니까? 고마워 - SW.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, Scott W, VBA 코드가 도움이 될 수 있다는 것을 알았습니다.
Option Explicit

하위 ImportCSVsWithReference()
'저자: 제리 보케르
'날짜: 10년 16월 2010일
'요약: 폴더의 모든 CSV 파일을 단일 시트로 가져오기
' CSV 파일 이름을 나열하는 열 A에 필드 추가

Dim wbCSV를 통합 문서로
Dim wsMstr As Worksheet: Set wsMstr = ThisWorkbook.Sheets("Sheet1")
Dim fPath As String: fPath = " C:\Users\DT168\Desktop\New folder\" 'CSV 파일 경로, 마지막 \
Dim fCSV를 문자열로

If MsgBox("가져오기 전에 기존 시트를 지우시겠습니까?", vbYesNo, "지우시겠습니까?") _
= vbYes 그런 다음 wsMstr.UsedRange.Clear

Application.ScreenUpdating = False '매크로 속도 향상

fCSV = Dir(fPath & "*.csv") 'CSV 파일 목록 시작

Len(fCSV) > 0 동안 수행
'CSV 파일 열기
설정 wbCSV = Workbooks.Open(fPath & fCSV)
'열 A 삽입 및 CSV 이름 추가
열(1).xlShiftToRight 삽입
Columns(1).SpecialCells(xlBlanks).Value = ActiveSheet.Name
'마스터 시트에 날짜 복사 및 소스 파일 닫기
ActiveSheet.UsedRange.Copy wsMstr.Range("A" & Rows.Count).End(xlUp).Offset(1)
wbCSV.닫기 거짓
'다음 CSV 준비
fCSV = 디렉토리
고리

Application.ScreenUpdating = True
최종 하위
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
중복 헤더 및 CSV 파일 이름 열을 제거하는 방법. 도와주세요....여러 기사를 살펴보았지만 불행히도 모두 같은 결과를 얻었습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 - VBA 코드를 사용하여 여러 CSV 파일에서 Excel 파일(이 페이지의 코드)로 데이터를 추출하고 csv 파일을 Excel 파일로 변환합니다(이 파일: https://www.extendoffice.com/documents/excel/4615-excel-batch-convert-csv-to-xls-xlsx.html), 훌륭한 결과를 얻었습니다. 그들은 내가 많은 시간을 절약하도록 도왔습니다.

그러나 이러한 유형의 코드 모두에 공통적인 문제가 있음을 알았습니다. 명확히 하자면, 내 시스템은 날짜에 대해 유럽 표준을 사용하도록 설정되어 있지만 내 작업을 위해 받은 일부 CSV 파일에는 미국 표준의 날짜가 포함되어 있습니다. 첫 번째 문제는 미국 형식의 날짜가 포함된 CSV 파일에서 데이터를 추출하거나 변환할 때 해당 날짜가 모두 반전된다는 것입니다(내 시스템에서 사용하는 EU 표준과 일치). 이것은 훌륭하지만 코드가 나를 위해 날짜를 되돌릴 줄 몰랐기 때문에 문제를 일으키기도 했습니다. 그래서 계속해서 같은 일을 다시 했습니다. 두 번째 문제는 내 시스템에서 사용하는 형식(EU 표준)과 이미 동일한 형식의 날짜를 포함하는 CSV 파일의 경우 모호한 날짜만 반전된다는 것입니다(예: 04/05/2019 - 05/04/2019). 너무 분명한 것은 변경되지 않은 상태로 유지됩니다(예: 30년 04월 2019일).

내가 코드에서 하고 싶은 것은 여기에 표시된 것과 정확히 동일하며 원본 파일에 사용된 정확한 형식으로 데이터(특히 날짜)를 복사하여 붙여넣는 것뿐입니다. 이렇게 하면 가능한 혼란과 실수를 방지하는 데 도움이 됩니다. 언젠가는 내 자신의 코드를 작성할 수 있도록 VBA를 배우고 싶지만, 지금은 필요에 맞게 기존 코드의 일부를 수정할 수조차 없습니다. 그래서 당신이 도울 수 있다면 기존 코드에 수정된 코드(당신이 생각해낸)를 어디에 넣어야 하는지 알려주세요. 내가 받을 수 있는 모든 피드백과 지원에 감사드립니다. 모두 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 Marshall, Workbooks.Open 메서드에서 Local:=True 옵션을 추가합니다.


xWb 설정 = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
로버트에게 정말 감사합니다. 더 일찍 답장을 보내드리지 못해서 죄송합니다. 지금까지 아무런 알림도 받지 못했습니다. 나는 이것을 시도하고 이것이 효과가 있는지 당신에게 알리기 위해 나중에 다시 올 것입니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 로버트,
또 나야. "Local:True" 부분을 추가해야 하는 코드 부분을 실제로 파악하는 데 시간이 좀 걸렸습니다. 날짜가 더 이상 바뀌지 않기 때문에 결과는 훌륭했습니다. 고맙습니다!
같은 문제가 있는 사람은 이 줄을 변경하면 됩니다.
xWb 설정 = Workbooks.OpenXML(xStrPath & "\" & xFile)

이에:
xWb 설정 = Workbooks.Open(xStrPath & "\" & xFile, Local:=True)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 세미콜론을 구분 기호로 사용하여 여러 csv 파일을 가져올 수 있는 방법이 있습니까? 고맙습니다!
추신 좋은 기사!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 팀

VBA를 사용하여 여러 XML 파일을 단일 시트로 가져오기 위한 코드를 사용하고 있지만 내가 직면한 문제는 행 수가 약 650000에 도달하면 폴더의 나머지 xml 파일을 처리하지 않고 xml 파일이 없다는 오류가 발생한다는 것입니다. . 이 수를 늘리려면 지원이 필요합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕 전문가

VBA를 사용하여 여러 xml 파일을 하나의 워크시트로 가져오기 위해 위의 코드를 사용하고 있지만 내가 직면한 문제는 워크시트에서 행 수가 1에 도달하면 이 코드가 폴더의 나머지 xml 파일을 처리하지 않는다는 것입니다. "no files.xml" 오류가 발생합니다. 당신의 친절한 지원이 필요합니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Hello여러 XML을 Excel 문서의 한 탭으로 가져오기 위한 지침이 작동하지만 열을 정렬하는 방법이 궁금했습니다. 내 xml에는 모두 동일한 태그가 없습니다. xml에 일부 헤더(태그)에 대한 데이터가 없으면 해당 xml에서 헤더가 누락되도록 설정됩니다. 각 xml 및 관련 데이터의 동일한 헤더가 Excel의 동일한 열에 포함되도록 xml을 가져오는 방법이 있습니까?
아직 코멘트가 없습니다
더보기
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호