엑셀 파일에 시트가 여러개 있는데 각각의 시트를 엑셀 파일로 저장해줘. 각각 저장하는 파일의 이름은 시트 이름으로 하고, 파일 저장 경로는 본래 엑셀 파일이 있는 경로와 같게 하도록 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'이름으로 엑셀 파일을 만듦

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

실행 후, 메시지 박스 확인

위처럼 파일이 생성된 것을 확인
'Code of AI' 카테고리의 다른 글
[Bing AI] 구구단 식을 만드는 파이썬 코드 (0) | 2023.09.12 |
---|---|
[ChatGPT] 여러 랜덤 수 출력 파이썬 코드 (0) | 2023.09.11 |
[ChatGPT] 파워포인트 명패를 만드는 VBA 코드 (0) | 2023.09.07 |
[ChatGPT] 숫자 야구 게임 Python 코드 (0) | 2023.09.07 |
[ChatGPT] 숫자 맞추기 업다운 게임 Python 코드 (0) | 2023.09.06 |