반응형

안녕하세요.

 

월별로 각 시트에 분리된 데이터를 각각 파일로 저장하는 방법을 소개합니다.

 

2022.11.04 - 엑셀 매크로] 월별 데이터를 각 시트로 나누는 상대 참조 매크로

 

엑셀 매크로] 월별 데이터를 각 시트로 나누는 상대 참조 매크로

실습 파일 다운로드 https://youtu.be/q4a9cTGmFFs 월별 데이터를 각 시트로 한꺼번에 나누는 매크로를 소개합니다. 2023.07.19 - 월별 데이터를 각 시트로 한꺼번에 나누는 매크로 월별 데이터를 각 시트로

hantip.net

 

2023.07.19 - 월별 데이터를 각 시트로 한꺼번에 나누는 매크로

 

월별 데이터를 각 시트로 한꺼번에 나누는 매크로

안녕하세요. 월별로 집계하는 피벗 테이블을 만들어 합계 값이 표시되는 셀을 더블 클릭하면 새 시트에 필터된 값이 복사되도록 매크로를 만들었습니다. 2022.11.04 - 엑셀 매크로] 월별 데이터를

hantip.net

 

실습 파일 다운로드

실습파일.xlsx
0.18MB

 

현재 파일에 총 13개 시트가 있습니다.

 

마지막 2022년 시트에 전체 데이터와 피벗 테이블이 있고, 첫번째 Sheet1부터 열 두번째 Sheet12까지 월별로 분리된 데이터가 있습니다.

 

Sheet1~Sheet12를 각각 파일로 저장합니다.

 

시트를 저장하는 매크로를 기록합니다.

[개발 도구]-[코드]-[매크로 기록]을 선택합니다.

매크로 이름에 파일로저장을 입력하고 [확인]을 누릅니다.

시트 탭 Sheet1에서 마우스 오른쪽 클릭해서 [이동/복사]를 선택합니다.

[이동/복사] 대화상자에서 아래쪽 '복사본 만들기'에 체크하고 '대상 통합 문서'에서 '(새 통합 문서)'를 선택하고 [확인]을 누릅니다.

[파일]-[다른 이름으로 저장]을 선택해서 현재 파일이 저장된 위치1월이란 이름으로 저장합니다.

 

원래 파일을 선택한 뒤 [기록 중지]를 누릅니다.

 

[개발 도구]-[코드]-[매크로]를 선택합니다.

'파일로저장' 매크로를 선택한 상태에서 [편집]을 누릅니다.

만들어진 코드입니다.

Sub 파일로저장()
'
' 파일로저장 매크로
'

'
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy
    ChDir "D:\share"
    ActiveWorkbook.SaveAs Filename:="D:\share\1월.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    Windows("실습파일.xlsx").Activate
End Sub

실행과 상관없는 주석문은 지우고, Sheets("Sheet1").Select와 경로 이동하는 ChDir "D:\share"를 지웁니다.

Sub 파일로저장()
    Sheets("Sheet1").Copy
    
    ActiveWorkbook.SaveAs Filename:="D:\share\1월.xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
    Windows("실습파일.xlsx").Activate
End Sub

현재 파일의 저장 경로를 나타내는 코드가 있습니다.

ThisWorkbook.Path

변수를 써서 저장할 위치를 나타냅니다.

 

Sheet1부터 Sheet12까지 저장해야 하므로 반복문 For를 씁니다.

Windows 개체 대신 Workbooks 개체를 씁니다.

 

완성된 코드입니다.

Sub 파일로저장()
    저장경로 = ThisWorkbook.Path
    
    For i = 1 To 12
        Sheets("Sheet" & i).Copy
        
        ActiveWorkbook.SaveAs Filename:=저장경로 & "\" & i & "월.xlsx", FileFormat:= _
            xlOpenXMLWorkbook, CreateBackup:=False
        Workbooks("실습파일.xlsx").Activate
    Next i
End Sub

 

제대로 동작하는지 확인하기 전에 매크로를 기록할 때 만든 1월.xlsx 파일을 닫고 지워야 합니다.

 

파일을 지우고 준비가 되었으면 매크로를 실행해서 제대로 동작하는지 확인합니다.

화면이 여러 번 깜빡이고 시간이 좀 걸립니다.

 

저장 폴더를 확인해 보면 1월.xlsx부터 12월.xlsx 파일이 만들어져 있습니다.

 

이제 필요 없는 시트는 지우면 됩니다.

매크로를 만들 때 '이동'이 아닌 '복사'를 일부러 사용했습니다.

매크로를 실행한 결과는 [실행 취소] 기능으로 되돌릴 수 없습니다.

 

시트가 각각 잘 저장되었다면 시트를 지우는 작업은 간단히 할 수 있는 작업입니다.

또 필요하다면 추가로 코드를 넣으면 됩니다.

 

필요하신 분께 도움이 되길 바랍니다.

 

2023.08.18 - 월별 데이터를 각 시트로 한꺼번에 나누는 원초적인 매크로

 

월별 데이터를 각 시트로 한꺼번에 나누는 원초적인 매크로

안녕하세요. 앞에서 월별 데이터를 각 시트로 한꺼번에 나누는 매크로를 소개했습니다. 2022.11.04 - 엑셀 매크로] 월별 데이터를 각 시트로 나누는 상대 참조 매크로 엑셀 매크로] 월별 데이터를

hantip.net

 

반응형

+ Recent posts