Code of AI

[ChatGPT] 엑셀 시트를 각각 저장하는 VBA 코드

별별AI 2023. 9. 9. 13:16
728x90

엑셀 파일에 시트가 여러개 있는데 각각의 시트를 엑셀 파일로 저장해줘. 각각 저장하는 파일의 이름은 시트 이름으로 하고, 파일 저장 경로는 본래 엑셀 파일이 있는 경로와 같게 하도록 VBA 코딩해줘



[ ChatGPT의 답변 ]
아래는 엑셀 파일의 각 시트를 개별적으로 다른 파일로 저장하고, 각 파일의 이름을 시트 이름으로 지정하며, 파일 저장 경로를 원본 엑셀 파일과 동일하게 지정하는 VBA 코드입니다. 이 코드를 엑셀 파일의 VBA 에디터(Visual Basic for Applications)에 삽입하여 실행하면 됩니다.



[ 코드 ]
Sub SaveSheetsAsIndividualFiles()
Dim wb As Workbook
Dim ws As Worksheet
Dim filePath As String
Dim fileName As String

' 현재 열려 있는 엑셀 파일을 가져옴
Set wb = ThisWorkbook

' 원본 엑셀 파일의 경로를 가져옴
filePath = wb.Path

' 각 시트를 개별 파일로 저장
For Each ws In wb.Worksheets

' 시트 이름으로 파일 이름 생성
fileName = ws.Name & ".xlsx"

' 파일 저장 경로와 파일 이름을 결합하여 파일을 저장
ws.Copy
ActiveWorkbook.SaveAs Filename:=filePath & "\" & fileName, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close SaveChanges:=False
Next ws
MsgBox "시트가 개별 파일로 저장되었습니다.", vbInformation
End Sub




[ 추가 설명 ]
위 코드를 아래와 같이 실행합니다.
엑셀 파일을 엽니다.
ALT + F11 키를 눌러 VBA 에디터를 엽니다.
왼쪽 창에서 원하는 엑셀 파일을 선택합니다.
삽입(Insert) 메뉴에서 모듈(Module)을 선택합니다.
오른쪽 창에 나타난 빈 공간에 위의 코드를 붙여넣습니다.
F5 키를 눌러 코드를 실행합니다.

위 코드는 각 시트를 개별 파일로 저장할 것이며, 저장된 파일은 원본 엑셀 파일과 동일한 경로에 생성됩니다. 저장된 파일의 이름은 각 시트의 이름과 ".xlsx" 확장자가 추가된 형식으로 저장됩니다. 예를 들어, 시트 이름이 "Sheet1"이라면, 해당 시트는 "Sheet1.xlsx"로 저장됩니다.


[ 코드 확인 ]


위처럼 Sheet1, Sheet2, Sheet3이 있는
'시트저장확인.xlsm'이름으로 엑셀 파일을 만듦

 


파일 경로는 위처럼 "다운로드 > 시트저장확인"으로 설정

 

실행 후, 메시지 박스 확인

 

위처럼 파일이 생성된 것을 확인

728x90