Excel 에서 각 행에 대해 새 시트를 만드는 방법은 무엇인가요?
데이터 관리 또는 보고 작업 중에 테이블의 각 레코드를 개별 워크시트로 분리해야 할 경우가 있습니다. 예를 들어 Excel 에 학생 정보 목록을 관리하고 있고 각 행이 서로 다른 학생의 정보를 나타낸다면, 각 학생에 대해 개별 시트를 생성하여 해당 학생의 데이터만 포함하도록 하고 싶을 수 있습니다. 또는 내용과 무관하게 모든 행을 각각 하나의 새 워크시트에 배치하도록 단순히 분할하고자 할 수도 있습니다. 새 시트를 수동으로 생성하고 데이터를 복사하는 작업은 특히 대규모 데이터셋을 다룰 때 시간이 많이 소요되고 오류가 발생하기 쉽습니다. 이러한 프로세스를 자동화하면 상당한 시간을 절약하고 실수 위험을 줄일 수 있습니다. 이 가이드에서는 Excel 에서 각 행에 대해 새 시트를 생성하는 두 가지 실용적인 솔루션을 안내하고, 각 방법의 장단점을 설명하여 사용자의 상황에 가장 적합한 접근 방식을 선택할 수 있도록 도와드립니다。
VBA 코드로 각 행에 대해 새 시트 생성
Kutools for Excel 의 데이터 분할 유틸리티로 각 행에 대해 새 시트 생성
VBA 코드로 각 행에 대해 새 시트 생성
VBA(Visual Basic for Applications)를 사용하면 번거롭고 반복적인 Excel 작업을 자동화할 수 있습니다. VBA 를 통해 데이터의 각 행에 대해 새 새 워크시트를 신속하게 생성할 수 있습니다。 이때 특정 열(예: 학생 이름)을 기준으로 행을 그룹화하거나, 내용과 무관하게 각 행마다 하나의 시트를 생성할 수 있습니다。 이 방법은 VBA 편집기에 익숙하고 높은 수준의 맞춤 설정이 필요한 사용자에게 이상적입니다。 그러나 코드 편집 및 실행이 필요하므로 VBA 경험이 없거나 환경에서 매크로 실행 권한이 없는 사용자에게는 적합하지 않을 수 있습니다。
1. 「Alt」 + "F11"을 눌러Microsoft Visual Basic for Applications창을 엽니다。 이 창을 통해 Excel 작업 자동화를 위한 VBA 코드에 액세스할 수 있습니다。
2. Microsoft Visual Basic for Applications창에서삽입>모듈을 클릭하여 새 코드 모듈을 추가합니다。 그런 다음 아래 코드를 모듈 창에 복사하여 붙여넣으세요。
VBA 코드: 열을 기준으로 각 행에 대해 새 시트 생성
Sub parse_data()
'Update by Extendoffice 2018/3/2
Dim xRCount As Long
Dim xSht As Worksheet
Dim xNSht As Worksheet
Dim I As Long
Dim xTRrow As Integer
Dim xCol As New Collection
Dim xTitle As String
Dim xSUpdate As Boolean
Set xSht = ActiveSheet
On Error Resume Next
xRCount = xSht.Cells(xSht.Rows.Count, 1).End(xlUp).Row
xTitle = "A1:C1"
xTRrow = xSht.Range(xTitle).Cells(1).Row
For I = 2 To xRCount
Call xCol.Add(xSht.Cells(I, 1).Text, xSht.Cells(I, 1).Text)
Next
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCol.Count
Call xSht.Range(xTitle).AutoFilter(1, CStr(xCol.Item(I)))
Set xNSht = Nothing
Set xNSht = Worksheets(CStr(xCol.Item(I)))
If xNSht Is Nothing Then
Set xNSht = Worksheets.Add(, Sheets(Sheets.Count))
xNSht.Name = CStr(xCol.Item(I))
Else
xNSht.Move , Sheets(Sheets.Count)
End If
xSht.Range("A" & xTRrow & ":A" & xRCount).EntireRow.Copy xNSht.Range("A1")
xNSht.Columns.AutoFit
Next
xSht.AutoFilterMode = False
xSht.Activate
Application.ScreenUpdating = xSUpdate
End Sub 매개변수 설명 및 사용 팁:
- A1:C1은 데이터 테이블의 헤더 범위입니다。 필요에 따라 이 참조를 실제 데이터 헤더 영역과 일치하도록 조정하세요。
- 코드는 지정된 열(기본값은 A 열)에서 고유한 값을 수집합니다。 각 고유한 값은 해당 행을 포함한 별도의 워크시트를 갖게 됩니다。
- 테이블이 더 넓거나 다른 행에서 시작하는 경우,
xTitle및 셀 참조를 적절히 업데이트하세요。 - 워크시트에 다른 시트를 참조하는 수식이 포함되어 있는 경우, 분할 후 참조를 확인하세요。
3. F5키를 누르거나실행을 클릭하여 코드를 실행합니다。 새 워크시트은 현재 워크북의 기존 시트 뒤에 생성되며, 각 시트는 선택한 고유 열 값에 따라 이름이 지정됩니다。 아래 스크린샷에서 결과 예시를 확인하세요:

열 내용과 무관하게 모든 행을 개별 워크시트로 단순히 분할하려는 경우, 다음과 같은 대체 VBA 코드를 사용할 수 있습니다。 이 방법은 열 조건을 지정할 필요가 없습니다。
VBA 코드: 각 행에 대해 직접 새 시트 생성
Sub RowToSheet()
Dim xRow As Long
Dim I As Long
With ActiveSheet
xRow = .Range("A" & Rows.Count).End(xlUp).Row
For I = 1 To xRow
Worksheets.Add(, Sheets(Sheets.Count)).Name = "Row " & I
.Rows(I).Copy Sheets("Row " & I).Range("A1")
Next I
End With
End Sub 이 코드를 모듈에서 실행한 후 활성 워크시트의 헤더 행을 포함한 각 행이 새로 생성된 워크시트로 복사됩니다。 헤더 행도 중복 복사되므로 이를 피하려면 출력 시트를 수동으로 삭제하거나 조정해야 할 수 있습니다。
문제 해결 및 실용 팁:
- 「Subscript out of range」와 같은 오류가 발생하면 시트 이름에 잘못된 문자나 중복된 이름 제거이 포함되어 있지 않은지 확인하세요。
- 대규모 데이터셋은 많은 수의 시트를 생성할 수 있으며, 이로 인해 Excel 이 느려지거나 탐색이 번거로울 수 있습니다。 매우 큰 테이블의 경우 행 단위 분할이 정말 필요한지 고려하세요。
- 실수로 인한 데이터 손실을 방지하기 위해 VBA 코드 실행 전 항상 데이터 백업을 유지하세요。
장점:무료이며 높은 수준의 맞춤 설정이 가능합니다。
단점:VBA/매크로 활성화 및 VBA 편집기에 대한 기본적인 이해가 필요하며, 복잡하거나 특이한 데이터의 경우 코드 오류가 발생할 수 있습니다。
적합 대상:스크립팅 유연성이 필요한 사용자 및 일회성 또는 비정기적인 작업을 수행하는 사용자。
Kutools for Excel 의 데이터 분할 유틸리티로 각 행에 대해 새 시트 생성
코드 작성이 아닌 간단하고 사용자 친화적인 방식을 선호한다면,데이터 분할의Kutools for Excel유틸리티를 강력히 추천합니다. 이 기능을 사용하면 몇 번의 클릭만으로 데이터 분할을 새 워크시트로 신속하게 데이터 분할할 수 있어 워크시트 관리 프로세스가 크게 간소화됩니다. Kutools 는 특히 크고 복잡한 테이블을 정기적으로 처리하거나 수동 코딩보다 그래픽 인터페이스를 선호하는 사용자에게 유용합니다. 참고로 Kutools 는 Excel 애드인으로 사전 설치되어 있어야 합니다。
1. 개별 워크시트로 분할할 데이터가 포함된 테이블을 선택합니다。 그런 다음Kutools 플러스탭을 클릭하고데이터 분할을 선택합니다。 아래 스크린샷을 참고하세요:

2. 다중 워크시트로 데이터 분할대화 상자에서 분할 요구 사항에 따라 적절한 설정을 선택합니다。
A. 열 값을 기준으로 새 시트 생성:

B. 각 행에 대해 직접 새 시트 생성:

실행 후 선택한 설정에 따라 모든 새 워크시트이 포함된 새 워크북이 생성됩니다。
열 값을 기준으로 각 행에 대해 새 시트 생성:

열 값을 고려하지 않고 각 행에 대해 새 시트 생성:

주의사항 및 실용 팁:
- 데이터 분할 유틸리티를 사용하기 전 테이블에 빈 행이 없는지 확인하세요。 그렇지 않으면 빈 시트가 생성될 수 있습니다。
- 중복되거나 잘못된 시트 이름를 방지하기 위해 시트 이름 지정 규칙을 검토하세요. 이름 충돌이 발생하면 Kutools 가 자동으로 조정합니다。
- 테이블이 매우 크면 많은 수의 워크시트가 생성될 수 있으므로 진행 전 이를 고려하세요。
장점:코드 없이 사용하기 쉬우며 일괄 처리 및 반복 작업에 적합합니다。
단점:Kutools 애드인이 사전 설치되어 있어야 합니다。
적합 대상:모든 수준의 Excel 사용자, 특히 반복적인 데이터 분할 작업을 수행하는 사용자。
Kutools for Excel– Excel 을 300 개 이상의 필수 도구로 강력하게 개선하여 작업을 더 빠르고 쉽게 처리하고, 스마트한 데이터 처리와 생산성을 위한 AI 기능을 활용하세요。지금 받기
Kutools for Excel 의 데이터 분할 유틸리티로 각 행에 대해 새 시트 생성 데모
최고의 Office 생산성 도구
| 🤖 | KUTOOLS AI 도우미: 다음을 기반으로 데이터 분석 혁신하기:지능형 실행 | 코드 생성| 사용자 지정 수식 생성 | 데이터 분석 및 차트 생성| 향상된 함수 호출… |
| 인기 기능:찾기, 강조 표시 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 결합 또는 셀 제거 | 공식을 사용하지 않는 반올림... | |
| 슈퍼 LOOKUP:다중 조건 VLookup | 다중 값 VLookup | 여러 시트에서 VLookup | 퍼지 매치.... | |
| 고급 드롭다운 목록:드롭다운 목록 빠르게 생성 | 종속형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
| 열 관리자:특정 수의 열 추가|열 이동|숨겨진 열의 표시 상태 전환|범위 및 열 비교... | |
| 주요 기능:그리드 포커스 | 디자인 보기 |향상된 수식 표시줄 | 워크북 및 시트 관리자 | 자원 라이브러리(자동 텍스트)| 날짜 선택기 | 워크시트 병합 | 암호화/셀 해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵은 글꼴이 있는 셀 필터링/기울임꼴/취소선。。。) 。。。 | |
| 상위 15 도구 모음:12 텍스트도구(텍스트 추가,특정 문자 삭제, ...)| 50+차트유형(간트 차트, ...)| 40+ 실용적인수식(생일을 기준으로 나이 계산, ...)| 19 삽입도구(QR 코드 삽입,경로에서 그림 삽입, ...)| 12 변환도구(단어로 변환하기,환율 변환, ...)| 7 병합 및 분할도구(고급 행 병합,셀 분할, ...)|그 외 더 많은 기능 |
Kutools for Excel 로 Excel 역량을 한 단계 업그레이드하고 전례 없는 효율성을 경험하세요。Kutools for Excel 는 생산성과 저장 시간을 향상시키는 300 개 이상의 고급 기능을 제공합니다。가장 필요한 기능을 지금 바로 확인하세요。。。
Office Tab 가 Office 에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만들어 줍니다
- Word, Excel, PowerPoint 에서 탭 기반 편집 및 읽기 기능을 활성화합니다, Publisher, Access, Visio 및 Project 에서도 사용 가능합니다。
- 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 생성할 수 있습니다。
- 50% 만큼 생산성을 높이고 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 애드인。 하나의 설치 프로그램
Kutools for Office스위트 번들은 Excel, Word, Outlook 및 PowerPoint 용 애드인과 Office Tab Pro 를 포함하며, 다양한 Office 앱을 사용하는 팀에 이상적입니다。
- 올인원 스위트— Excel, Word, Outlook 및 PowerPoint 애드인 + Office Tab Pro
- 하나의 설치 프로그램, 하나의 라이선스— 몇 분 안에 설정 완료(MSI 지원)
- 함께 사용할수록 더 효과적입니다— Office 앱 전반에서 생산성 향상
- 30 일간 모든 기능 무료 체험— 등록이나 신용카드 필요 없음
- 최고의 가성비— 개별 애드인 구매 대비 절약