Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

CSV(Comma Separated Value)는 이름 그대로 값들이 쉼표로 구분된 데이터 형식을 의미합니다. 이 형식은 데이터베이스 관리에서 필수적으로 사용되며, 많은 데이터 관리 프로젝트에서 Excel과 함께 활용됩니다. 그래서 두 형식 간의 데이터 교환이 자주 필요합니다. CSV 파일을 Excel로 변환하는 것은 '텍스트 나누기' 기능으로 쉽게 할 수 있지만, 반대로 여러 개의 Excel 파일을 CSV로 변환하는 직접적인 방법은 아직 제공되지 않습니다. 이 경우 VBA 매크로나 온라인 도구를 활용해야 합니다. 이 글에서는 여러 Excel 파일을 CSV로 변환하는 방법을 단계별로 자세히 설명합니다.

여러 Excel 파일을 CSV로 변환하는 3가지 방법

설명을 위해 아래와 같은 간단한 데이터 세트를 사용하겠습니다. 표의 머리글은 구매 날짜(Date of Purchase), 지역(Region), 제품(Product), 수량(Quantity)으로 구성되어 있습니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

1. VBA 매크로를 활용하여 여러 Excel 파일을 CSV로 변환하기

간단한 VBA 매크로를 사용하면 여러 Excel 파일을 CSV 형식으로 변환하는 작업 시간을 크게 단축할 수 있습니다. 이 방법은 Excel 파일을 직접 불러온 뒤 일괄적으로 CSV 파일로 변환해 줍니다.

실행 단계

  • 먼저 개발 도구(Developer) 탭으로 이동한 후 Visual Basic을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 삽입(Insert) > 모듈(Module)을 차례로 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 모듈 창에 아래 코드를 입력합니다.
Sub convert_Excel_to_csv()

Dim Con_Mul_Excel As Workbook
Dim Con_Mul_Excel_ws As Worksheet
Dim Con_Mul_Excel_path As String
Dim Con_Mul_Excel_file As String
Dim Con_Mul_Excel_fd As FileDialog
Dim Con_Mul_Excel_sfd As FileDialog
Dim Con_Mul_Excel_spath As String
Dim Con_Mul_Excel_name As String

Application.ScreenUpdating = False
Application.EnableEvents = False
Application.Calculation = xlCalculationManual

On Error Resume Next
Set Con_Mul_Excel_fd = Application.FileDialog(msoFileDialogFolderPicker)
Con_Mul_Excel_fd.AllowMultiSelect = False
Con_Mul_Excel_fd.Title = "Select the Folder for Your Excel Files"
If Con_Mul_Excel_fd.Show <> -1 Then Exit Sub
Con_Mul_Excel_path = Con_Mul_Excel_fd.SelectedItems(1) & "\"
Set Con_Mul_Excel_sfd = Application.FileDialog(msoFileDialogFolderPicker)
Con_Mul_Excel_sfd.AllowMultiSelect = False
Con_Mul_Excel_sfd.Title = "Select Destination Folder"

If Con_Mul_Excel_sfd.Show <> -1 Then Exit Sub
Con_Mul_Excel_spath = Con_Mul_Excel_sfd.SelectedItems(1) & "\"
Con_Mul_Excel_file = Dir(Con_Mul_Excel_path & "*.xls*")

Do While Con_Mul_Excel_file <> ""
Set Con_Mul_Excel = Workbooks.Open(Filename:=Con_Mul_Excel_path & Con_Mul_Excel_file)
Con_Mul_Excel_name = Con_Mul_Excel_spath & Left(Con_Mul_Excel_file, InStr(1, Con_Mul_Excel_file, ".") - 1) & ".csv"
Con_Mul_Excel.SaveAs Filename:=Con_Mul_Excel_name, FileFormat:=xlCSV
Con_Mul_Excel.Close savechanges:=False
Con_Mul_Excel_file = Dir
Loop

Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub
  • 코드 입력 후 창을 닫습니다.
  • 보기(View) 탭 > 매크로(Macros)를 더블클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 매크로 목록에서 방금 생성한 매크로(convert_Excel_to_csv)를 선택하고 실행(Run)을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 실행을 누르면 새 창이 열리는데, 여기서 변환할 Excel 파일들이 저장된 폴더를 선택하고 확인(OK)을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 그다음 또 다른 창이 열리며, Excel 파일에서 변환된 CSV 파일을 저장할 위치를 지정하라는 메시지가 표시됩니다. 저장 폴더를 선택하고 확인을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 잠시 로딩 아이콘이 회전하는 것을 볼 수 있으며, 완료되면 지정한 폴더에서 변환된 CSV 파일을 확인할 수 있습니다.
  • 대상 폴더에 세 개의 CSV 파일이 모두 생성되었고, 파일 확장자가 .csv로 표시되는지 확인합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • Dataset_1 파일을 열어 확인합니다.
  • 파일을 열면 Excel이 아닌 CSV 파일로 정상적으로 열리는 것을 볼 수 있습니다. 즉, 변환이 성공적으로 완료된 것입니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 같은 방식으로 Dataset_2도 열어 확인합니다.
  • 파일이 CSV 형식으로 정상적으로 변환되어 있는 것을 확인할 수 있습니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • Dataset_3 역시 동일하게 검증합니다.
  • 파일이 CSV 파일로 올바르게 변환되었다면 성공입니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

2. 여러 Excel 파일을 하나로 합친 후 CSV로 변환하기

이번에는 여러 Excel 파일을 하나의 통합 문서에 각각 워크시트로 합친 다음, 각 워크시트를 개별 CSV 파일로 내보내는 방법을 소개합니다.

실행 단계

  • 먼저 개발 도구 탭에서 Visual Basic을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 삽입 > 모듈을 클릭하여 새 모듈을 추가합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 모듈 창에 아래 코드를 입력합니다.
Sub Combine_Excel_Files()

Dim fnList, fnCurFile As Variant
Dim cFiles, cSheets As Integer
Dim wkCurSheet As Worksheet

Dim wbCurBook, wbSrcBook As Workbook

fnList = Application.GetOpenFilename(FileFilter:="Microsoft Excel Workbooks (*.xls;*.xlsx;*.xlsm),*.xls;*.xlsx;*.xlsm", Title:="Choose Excel files to merge", MultiSelect:=True)
If (vbBoolean <> VarType(fnList)) Then
If (UBound(fnList) > 0) Then
cFiles = 0
cSheets = 0
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Set wbCurBook = ActiveWorkbook
For Each fnCurFile In fnList
cFiles = cFiles + 1
Set wbSrcBook = Workbooks.Open(Filename:=fnCurFile)
For Each wkCurSheet In wbSrcBook.Sheets
cSheets = cSheets + 1
wkCurSheet.Copy after:=wbCurBook.Sheets(wbCurBook.Sheets.Count)
Next
wbSrcBook.Close SaveChanges:=False
Next
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
MsgBox "Worked on " & cFiles & " files" & vbCrLf & "Joined " & cSheets & " worksheets", Title:="Merging Multiple Excel Files"
End If
Else
MsgBox "No File is Selected", Title:="Merging Multiple Excel files"
End If

End Sub
  • 창을 닫은 뒤 보기 탭 > 매크로를 더블클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 매크로 목록에서 방금 만든 Combine_Excel_Files를 선택하고 실행(Run)을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 새 파일 탐색 창이 열리면 하나의 Excel 파일로 합치고 싶은 파일들을 선택합니다.
  • 파일을 선택한 후 열기(Open)를 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 열기를 누르면 각 시트가 순서대로 로딩되며, 잠시 후 아래와 같은 완료 메시지 창이 나타납니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 이제 세 개의 Excel 통합 문서가 활성화된 통합 문서 안에 개별 워크시트로 불러와진 것을 확인할 수 있습니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 다음으로 다시 개발 도구 탭에서 Visual Basic을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 삽입 > 모듈을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 모듈 창에 아래 코드를 입력합니다.
Sub Excel_TO_CSV()

Dim wrsh As Worksheet
Dim excsv As String

For Each wrsh In Application.ActiveWorkbook.Worksheets
wrsh.Copy
excsv = CurDir & "\" & wrsh.Name & ".csv"
Application.ActiveWorkbook.SaveAs Filename:=excsv, _
FileFormat:=xlCSV, CreateBackup:=False
Application.ActiveWorkbook.Saved = True
Application.ActiveWorkbook.Close
Next

End Sub
  • 창을 닫고 보기 탭 > 매크로를 더블클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 방금 생성한 Excel_TO_CSV 매크로를 선택하고 실행(Run)을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 실행하면 잠시 동안 로딩 과정이 진행됩니다.
  • 완료되면 컴퓨터의 문서(Documents) 폴더를 열어볼 차례입니다. 이 디렉터리에서 변환된 CSV 파일들을 확인할 수 있습니다.
  • 각 파일의 확장자가 CSV 형식으로 표시되는지 확인합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • Dataset_1을 열어 보면 Excel 워크시트에서 변환된 CSV 형식의 파일임을 알 수 있습니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

3. 온라인 변환 도구 활용하기

인터넷 연결만 가능하다면 온라인 도구를 사용하는 것이 가장 손쉬운 방법입니다. 파일을 업로드하고 변환 버튼만 누르면 되며, 변환이 끝나면 결과물을 컴퓨터로 내려받기만 하면 됩니다.

실행 단계

  • XLSX(EXCEL) to CSV — Convertio 사이트에 접속합니다. 여러 Excel 파일을 CSV 형식으로 변환하기 좋은 무료 온라인 변환기입니다.
  • 입력 형식과 출력 형식을 지정합니다. 여기서는 입력 형식을 XLSX, 출력 형식을 CSV로 선택합니다.
  • 사이트에서 파일 선택(Choose Files) 아이콘을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 파일 탐색 창이 열리면 변환할 파일들을 선택하고 열기를 클릭합니다. 여기서는 Dataset_1, Dataset_2, Dataset_3을 선택했습니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 세 파일이 모두 업로드되고 대상 형식이 CSV로 표시되면 변환(Convert)을 클릭합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 변환을 누르면 변환 작업이 시작됩니다.
  • 완료 후 각 파일 오른쪽의 다운로드(Download) 버튼을 클릭해 변환된 파일을 저장합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • 다운로드가 완료되면 다운로드 폴더를 열어 모든 Excel 파일이 CSV 형식으로 변환되었는지 확인합니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

  • Dataset_1을 열어 살펴봅니다.
  • 파일이 CSV 파일로 정상적으로 열린다면 변환이 성공한 것입니다.

여러 Excel 파일을 한 번에 CSV로 변환하는 3가지 확실한 방법

마무리

지금까지 '여러 Excel 파일을 CSV로 변환하는 방법'을 세 가지 관점에서 살펴보았습니다. 두 가지 VBA 기반 방법과 하나의 온라인 변환기 방법을 사용했습니다. 이 중 온라인 변환 방법이 가장 쉽고 시간을 절약할 수 있는 방법입니다. VBA 방식 역시 처리 속도가 빠르지만 사전에 VBA 관련 지식이 어느 정도 필요하다는 점이 차이입니다. 온라인 방식은 이런 요구 사항 없이 누구나 바로 활용할 수 있습니다.

위 방법들을 직접 연습해 볼 수 있도록 매크로가 포함된 실습용 통합 문서도 함께 준비되어 있습니다.

궁금한 점이나 피드백이 있다면 댓글로 자유롭게 남겨 주세요. 커뮤니티 발전을 위한 제안도 언제든 환영합니다.

함께 읽으면 좋은 글

  • 매크로로 Excel을 파이프 구분 텍스트 파일로 변환하는 방법 (3가지)
  • Excel 파일을 쉼표 구분 텍스트 파일로 변환하는 방법 (3가지)
  • Excel을 큰따옴표가 포함된 CSV로 저장하는 가장 쉬운 방법 (3가지)
  • [해결!] Excel에서 쉼표가 포함된 CSV가 저장되지 않을 때 (7가지 해결책)
  • Excel을 쉼표 구분 CSV 파일로 변환하는 방법 (2가지)