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: 새 시트를 추가하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다