Vba: 시트를 csv 파일로 저장하는 방법(예제 포함)
VBA에서 다음 구문을 사용하여 통합 문서의 각 시트를 CSV 파일에 저장할 수 있습니다.
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
이 특정 매크로는 현재 활성화된 통합 문서의 각 시트를 CSV 파일로 저장합니다.
CSV 파일은 SaveDir 변수에 지정된 경로에 저장됩니다.
참고 : Application.DisplayAlerts=False 줄은 파일을 저장할 때 Excel의 모든 표시 경고를 일시적으로 비활성화하도록 VBA에 지시합니다.
다음 예에서는 실제로 이 구문을 사용하는 방법을 보여줍니다.
예: VBA를 사용하여 시트를 CSV 파일로 저장
두 개의 시트로 구성된 Excel 통합 문서가 있다고 가정합니다.
첫 번째 시트는 player_stats 라고 하며 다양한 농구 선수에 대한 통계를 포함합니다.
두 번째 시트는 team_info 라고 하며 다양한 농구팀에 대한 정보를 포함합니다.
이러한 각 시트를 컴퓨터 바탕 화면에 개별 CSV 파일로 저장한다고 가정해 보겠습니다.
이를 위해 다음 매크로를 생성할 수 있습니다:
Sub SaveCSV()
Dim Ws As Worksheet
Dim SaveDir As String
Dim CurrentWorkbook As String
Dim CurrentFormat As Long
CurrentWorkbook = ThisWorkbook.FullName
CurrentFormat = ThisWorkbook.FileFormat
'specify directory to save CSV files in
SaveDir = " C:\Users\bobbi\OneDrive\Desktop\ "
'save each sheet to individual CSV file
For Each Ws In Application.ActiveWorkbook.Worksheets
Ws.SaveAs SaveDir & Ws.Name, xlCSV
Next
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=CurrentWorkbook, FileFormat:=CurrentFormat
Application.DisplayAlerts = True
End Sub
이 매크로가 실행되면 각 시트가 데스크톱에 CSV 파일로 저장됩니다.
내 컴퓨터의 바탕화면으로 이동하면 시트 이름과 일치하는 파일 이름을 가진 개별 CSV 파일을 각각 볼 수 있습니다.
메모장을 사용하여 player_stats CSV 파일을 열면 Excel 파일의 값이 쉼표로 구분된 값으로 저장되어 있는 것을 볼 수 있습니다.
이 예에서는 두 개의 시트를 통합 문서에 개별 CSV 파일로 저장할 수 있었지만 이 동일한 매크로는 시트 수에 관계없이 작동합니다.
추가 리소스
다음 자습서에서는 VBA에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
VBA: 통합 문서의 시트 수를 계산하는 방법
VBA: 다른 통합 문서에서 데이터를 추출하는 방법
VBA: 새 시트를 추가하는 방법