엑셀 문서 안에서도 VBA(Visual Basic for Applications)를 사용하여 데이터를 필터링하고 분리하는 매크로를 작성할 수 있습니다. 아래는 VBA를 사용하여 엑셀 문서 안에서 실행할 수 있는 방법을 보여주는 코드입니다.

엑셀 VBA 그룹별 파일 분리 저장 방법

  1. 먼저 엑셀 파일을 엽니다.
  2. 엑셀 파일 안에서 Alt + F11을 눌러 VBA 편집기를 엽니다.
  3. 삽입 > 모듈을 선택하여 새 모듈을 추가합니다.
  4. 다음 코드를 모듈에 붙여넣습니다

엑셀 VBA 그룹별 파일 분리 저장 방법 (F열 그룹핑)

Sub 그룹핑해서파일로저장하기()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim filterColumn As String
Dim uniqueValues As Collection
Dim value As Variant
Dim groupRange As Range
Dim newWorkbook As Workbook
Dim fileName As String
Dim firstRow As Range
' 시트 선택
Set ws = ThisWorkbook.ActiveSheet

' 데이터가 있는 범위 선택
Set rng = ws.UsedRange

' 그룹화할 열 선택
filterColumn = "F"

' 그룹화할 열에서 고유한 값 찾기
Set uniqueValues = New Collection
On Error Resume Next
For Each cell In rng.Columns(filterColumn).Cells
    uniqueValues.Add cell.Value, CStr(cell.Value)
Next cell
On Error GoTo 0

' 각 그룹별로 분리된 파일 생성
For Each value In uniqueValues
    ' 그룹화된 범위 선택
    Set groupRange = rng.Rows(1).EntireRow ' 헤더 행 포함
    For Each cell In rng.Columns(filterColumn).Cells
        If cell.Value = value Then
            Set groupRange = Union(groupRange, cell.EntireRow)
        End If
    Next cell

    ' 그룹명을 파일명으로 사용
    fileName = ThisWorkbook.Path & "\" & value & "_그룹.xlsx" ' 파일 이름에 맞게 변경

    ' 새로운 워크북 생성
    Set newWorkbook = Workbooks.Add

    ' 그룹화된 데이터 복사하여 새 워크북에 붙여넣기
    groupRange.Copy newWorkbook.Sheets(1).Range("A1")

    ' 새 워크북 저장
    newWorkbook.SaveAs fileName
    newWorkbook.Close
    MsgBox "그룹화된 파일이 생성되었습니다. 파일명: " & fileName
Next value

End Sub

위 코드를 사용하면 엑셀 문서 안에서 VBA 매크로를 실행하여 데이터를 필터링하고 필터링된 데이터를 새로운 엑셀 파일로 분리할 수 있습니다. 코드를 실행하면 사용자에게 필터링할 그룹을 입력하는 메시지가 표시됩니다. 그룹을 입력한 후 확인을 클릭하면 해당 그룹에 해당하는 데이터가 새로운 엑셀 파일로 분리됩니다.

댓글 달기

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

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

아마존 해외 구매: 서버, 네트워크, 노트북 구매

Amazon Best Sellers Servers

Amazon Best Sellers Networking

Amazon Best Sellers Laptops

위로 스크롤