2개이상의 엑셀파일을 한시트로 만들기 (VBA 매크로) > Web 끄적임

본문 바로가기

사이트 내 전체검색

뒤로가기 뒤로가기

Web 끄적임

Etc 2개이상의 엑셀파일을 한시트로 만들기 (VBA 매크로)

페이지 정보

작성자 관리자 작성일 25-03-31 13:39 조회 1,487 댓글 0

본문

사용 방법:

  1. 위 코드를 복사한 후, 엑셀에서 Alt + F11을 눌러 VBA 편집기를 엽니다.

  2. 삽입 > 모듈을 선택하고 코드 창에 붙여넣습니다.

  3. F5 키를 눌러 실행합니다.

  4. 파일 선택 창에서 병합할 엑셀 파일을 선택하면 모든 데이터를 하나의 시트로 병합합니다.





Sub MergeExcelFiles()

    Dim wsMaster As Worksheet
    Dim wbSource As Workbook
    Dim wsSource As Worksheet
    Dim sourceFile As Variant
    Dim lastRowMaster As Long
    Dim lastRowSource As Long
    
    ' 결과 데이터를 저장할 시트 지정 (현재 워크북의 첫 번째 시트)
    Set wsMaster = ThisWorkbook.Sheets(1)
    lastRowMaster = 1 '마스터 시트의 첫 번째 빈 행
    
    ' 병합할 파일 선택
    Do
        sourceFile = Application.GetOpenFilename("Excel Files (*.xls; *.xlsx), *.xls; *.xlsx", , "병합할 파일 선택")
        If sourceFile = False Then Exit Do '취소 버튼 클릭 시 종료
        
        ' 선택한 파일 열기
        Set wbSource = Workbooks.Open(sourceFile)
        
        ' 각 워크시트의 데이터를 복사하여 붙여넣기
        For Each wsSource In wbSource.Sheets
            lastRowSource = wsSource.Cells(wsSource.Rows.Count, 1).End(xlUp).Row
            wsSource.Rows("1:" & lastRowSource).Copy Destination:=wsMaster.Rows(lastRowMaster)
            lastRowMaster = wsMaster.Cells(wsMaster.Rows.Count, 1).End(xlUp).Row + 1
        Next wsSource
        
        ' 소스 파일 닫기
        wbSource.Close SaveChanges:=False
    Loop
    
    MsgBox "데이터 병합이 완료되었습니다!", vbInformation

End Sub

추천0 비추천 0

댓글목록 0

등록된 댓글이 없습니다.

Copyright © NEION All rights reserved.
PC 버전으로 보기