엑셀에서 여러 시트를 각각의 파일로 이동하고, 파일 이름을 시트 이름으로 저장하는 매크로를 작성하는 방법을 안내해 드리겠습니다. 다음은 VBA 매크로를 사용하여 이 작업을 수행하는 코드입니다.
엑셀 파일을 열기:
먼저, 작업하려는 엑셀 파일을 엽니다.VBA 편집기 열기:
Alt + F11
을 눌러 VBA 편집기를 엽니다.새 모듈 추가:
삽입
>모듈
을 클릭하여 새 모듈을 추가합니다.VBA 코드 입력:
아래의 코드를 새 모듈에 복사하여 붙여넣습니다.Sub SaveSheetsAsSeparateFiles() Dim ws As Worksheet Dim wb As Workbook Dim newWb As Workbook Dim FilePath As String ' 현재 워크북의 파일 경로 FilePath = ThisWorkbook.Path & "\" ' 각 시트를 개별 파일로 이동 및 저장 Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets ' 새로운 워크북 생성 ws.Copy Set newWb = ActiveWorkbook ' 새로운 워크북에 시트를 이동 Set wsNew = newWb.Worksheets(1) ' 파일 저장 newWb.SaveAs FilePath & ws.Name & ".xlsx" newWb.Close False Next ws Application.ScreenUpdating = True MsgBox "모든 시트가 개별 파일로 저장되었습니다.", vbInformation End Sub
코드 실행:
VBA 편집기에서F5
키를 눌러 코드를 실행합니다.
이 매크로는 현재 워크북의 각 시트를 새로운 워크북으로 복사하고, 원래 파일과 동일한 디렉터리에 시트 이름을 가진 개별 파일로 저장합니다. 작업이 완료되면 알림 메시지가 표시됩니다.
코드 설명:
FilePath = ThisWorkbook.Path & "\"
: 현재 워크북의 경로를 가져옵니다.Application.ScreenUpdating = False
와Application.ScreenUpdating = True
: 화면 업데이트를 중지하고, 작업이 끝난 후 다시 활성화하여 성능을 향상시킵니다.ws.Copy
: 현재 시트를 새로운 워크북으로 복사합니다.Set newWb = ActiveWorkbook
: 새로 생성된 워크북을 참조합니다.newWb.SaveAs FilePath & ws.Name & ".xlsx"
: 새 워크북을 시트 이름을 파일 이름으로 하여 저장합니다.newWb.Close False
: 새 워크북을 저장한 후 닫습니다.MsgBox
: 작업이 완료되면 메시지 박스를 표시합니다.
이 방법을 사용하면 여러 시트를 빠르고 쉽게 각각의 파일로 이동하여 저장할 수 있습니다.
'엑셀' 카테고리의 다른 글
2개 시트를 비교하여 일치, 불일치 데이터 추출하 (0) | 2024.05.19 |
---|---|
여러개 시트나 분산된 데이타를 하나로 합쳐 피벗만들기 (0) | 2024.05.16 |
VLOOKUP 대신 파워피벗 사용법 (1) | 2024.05.15 |
INDIRECT 함수 (0) | 2024.05.15 |
파워피벗 활용 (0) | 2024.05.15 |