Note: The other languages of the website are Google-translated. Back to English

Excel의 열을 기반으로 데이터를 여러 워크 시트로 분할하는 방법은 무엇입니까?

방대한 데이터 행이 포함 된 워크 시트가 있다고 가정하고 이제 데이터를 다음을 기반으로 여러 워크 시트로 분할해야합니다. 이름 열 (다음 스크린 샷 참조) 및 이름이 무작위로 입력됩니다. 먼저 정렬 한 다음 하나씩 복사하여 다른 새 워크 시트에 붙여 넣을 수 있습니다. 그러나 반복해서 복사하여 붙여 넣으려면 인내심이 필요합니다. 오늘은이 작업을 해결하기위한 몇 가지 빠른 트릭에 대해 이야기하겠습니다.

열로 문서 분할 데이터 1

VBA 코드가있는 열을 기반으로 데이터를 여러 워크 시트로 분할

Excel 용 Kutools를 사용하여 열을 기반으로 데이터를 여러 워크 시트로 분할


VBA 코드가있는 열을 기반으로 데이터를 여러 워크 시트로 분할

열 값을 기준으로 데이터를 빠르고 자동으로 분할하려면 다음 VBA 코드를 선택하는 것이 좋습니다. 다음과 같이하십시오 :

1. 누르고 ALT + F11 키를 눌러 응용 프로그램 용 Microsoft Visual Basic 창.

2. 딸깍 하는 소리 끼워 넣다 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여 넣습니다.

Sub Splitdatabycol()
'updateby Extendoffice
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
Dim xTRg As Range
Dim xVRg As Range
Dim xWSTRg As Worksheet
Dim xWS As Worksheet
On Error Resume Next
Set xTRg = Application.InputBox("Please select the header rows:", "Kutools for Excel", "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set xVRg = Application.InputBox("Please select the column you want to split data based on:", "Kutools for Excel", "", Type:=8)
If TypeName(xVRg) = "Nothing" Then Exit Sub
vcol = xVRg.Column
Set ws = xTRg.Worksheet
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = xTRg.AddressLocal
titlerow = xTRg.Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
Application.DisplayAlerts = False
If Not Evaluate("=ISREF('xTRgWs_Sheet!A1')") Then
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
Else
Sheets("xTRgWs_Sheet").Delete
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "xTRgWs_Sheet"
End If
Set xWSTRg = Sheets("xTRgWs_Sheet")
xTRg.Copy
xWSTRg.Paste Destination:=xWSTRg.Range("A1")
ws.Activate
For i = (titlerow + xTRg.Rows.Count) To lr
On Error Resume Next
If ws.Cells(i, vcol) <> "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws.Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells(xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Set xWS = Sheets.Add(after:=Worksheets(Worksheets.Count))
xWS.Name = myarr(i) & ""
Else
xWS.Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
xWS.Paste Destination:=xWS.Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy xWS.Range("A" & (titlerow + xTRg.Rows.Count))
Sheets(myarr(i) & "").Columns.AutoFit
Next
xWSTRg.Delete
ws.AutoFilterMode = False
ws.Activate
Application.DisplayAlerts = True
End Sub

3. 그런 다음, F5 키를 눌러 코드를 실행하면 헤더 행을 선택하라는 메시지 상자가 나타납니다. 스크린 샷을 참조하십시오.

열로 문서 분할 데이터 7

4. 그런 다음 OK 버튼을 누르고 두 번째 프롬프트 상자에서 분할 할 열 데이터를 선택하십시오. 스크린 샷을 참조하십시오.

열로 문서 분할 데이터 8

5. 그런 다음 OK, 활성 워크 시트의 모든 데이터는 열 값을 기준으로 여러 워크 시트로 분할됩니다. 그리고 분할 워크 시트의 이름은 분할 셀 이름으로 지정됩니다. 스크린 샷보기 :

열로 문서 분할 데이터 2

주의 사항: 분할 워크 시트는 마스터 워크 시트가있는 통합 문서의 끝에 배치됩니다.


Excel 용 Kutools를 사용하여 열을 기반으로 데이터를 여러 워크 시트로 분할

Excel 초보자로서이 긴 VBA 코드는 우리에게 다소 어렵고 우리 대부분은 필요에 따라 코드를 수정하는 방법을 모릅니다. 여기에서는 다기능 도구를 소개합니다.Excel 용 Kutools데이터 분할 유틸리티는 열을 기준으로 데이터를 여러 워크 시트로 분할하는 데 도움이 될뿐만 아니라 행 수를 기준으로 데이터를 분할 할 수도 있습니다.

참고 :이것을 적용하려면 데이터 분할, 먼저 Excel 용 Kutools을 클릭 한 다음 기능을 빠르고 쉽게 적용하십시오.

설치 후 Excel 용 Kutools, 다음과 같이하십시오.

1. 분할 할 데이터 범위를 선택하십시오.

2. 딸깍 하는 소리 쿠툴즈 플러스 > 워크 시트 > 데이터 분할, 스크린 샷 참조 :

열로 문서 분할 데이터 3

3. 에서 데이터를 여러 워크 시트로 분할 대화 상자에서 다음을 수행해야합니다.

1). 고르다 특정 열 에서 옵션 기준 분할 섹션을 클릭하고 드롭 다운 목록에서 데이터를 분할 할 열 값을 선택합니다. (데이터에 헤더가 있고이를 각각의 새 분할 워크 시트에 삽입하려면 내 데이터에 헤더가 있습니다. 선택권.)

2). 그런 다음 분할 워크 시트 이름을 지정할 수 있습니다. 새 워크 시트 이름 섹션에서 워크 시트 이름 규칙을 지정합니다. 규칙 드롭 다운 목록에서 접두사 or 접미사 시트 이름도 마찬가지입니다.

3). 클릭 OK 단추. 스크린 샷보기 :

열로 문서 분할 데이터 4

4. 이제 데이터가 새 통합 문서에서 여러 워크 시트로 분할됩니다.

열로 문서 분할 데이터 5

Excel 용 Kutools 및 무료 평가판을 지금 다운로드하려면 클릭하십시오!


Excel 용 Kutools를 사용하여 열을 기반으로 데이터를 여러 워크 시트로 분할

Excel 용 Kutools 300 개 이상의 편리한 Excel 도구가 포함되어 있습니다. 30 일 동안 제한없이 무료로 사용해보세요. 지금 무료 평가판을 다운로드하십시오!


관련 기사 :

행 수를 기준으로 데이터를 여러 워크 시트로 분할하는 방법은 무엇입니까?


최고의 사무 생산성 도구

Excel용 Kutools는 대부분의 문제를 해결하고 생산성을 80% 증가시킵니다.

  • 재사용: 빠르게 삽입 복잡한 공식, 차트 그리고 이전에 사용한 모든 것; 셀 암호화 암호로; 메일 링리스트 생성 이메일 보내기 ...
  • 슈퍼 포뮬러 바 (여러 줄의 텍스트와 수식을 쉽게 편집 할 수 있습니다.) 레이아웃 읽기 (많은 수의 셀을 쉽게 읽고 편집합니다.) 필터링 된 범위에 붙여 넣기...
  • 셀 / 행 / 열 병합 데이터 손실없이; 셀 내용 분할; 중복 행 / 열 결합... 중복 셀 방지; 범위 비교...
  • 중복 또는 고유 선택 행; 빈 행 선택 (모든 셀이 비어 있음); 슈퍼 찾기 및 퍼지 찾기 많은 통합 문서에서; 무작위 선택 ...
  • 정확한 사본 수식 참조를 변경하지 않고 여러 셀; 참조 자동 생성 여러 시트에; 글 머리 기호 삽입, 확인란 등 ...
  • 텍스트 추출, 텍스트 추가, 위치 별 제거, 공간 제거; 페이징 부분합을 만들고 인쇄합니다. 셀 내용과 주석 간 변환...
  • 슈퍼 필터 (다른 시트에 필터 구성표 저장 및 적용) 고급 정렬 월 / 주 / 일, 빈도 등 특수 필터 굵은 기울임 꼴로 ...
  • 통합 문서와 워크 시트 결합; 키 열을 기반으로 테이블 병합; 데이터를 여러 시트로 분할; xls, xlsx 및 PDF 일괄 변환...
  • 300개 이상의 강력한 기능. Office / Excel 2007-2021 및 365를 지원합니다. 모든 언어를 지원합니다. 기업 또는 조직에서 쉽게 배포할 수 있습니다. 전체 기능은 30일 무료 평가판입니다. 60일 환불 보장.
kte 탭 201905

Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다.

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기 사용, Publisher, Access, Visio 및 Project.
  • 새 창이 아닌 동일한 창의 새 탭에서 여러 문서를 열고 만듭니다.
  • 생산성을 50% 높이고 매일 수백 번의 마우스 클릭을 줄입니다!
officetab 하단
코멘트 (303)
아직 평가가 없습니다. 가장 먼저 평가하세요!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
VBA 코드가 있는 열을 기반으로 데이터를 여러 워크시트로 분할하면 일부 오류가 표시됩니다. 그것을 수정하고 동일한 업데이트를 시도하십시오. 샘플 엑셀 파일을 제공해 주시면 큰 도움이 됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 저에게 맞는 코드 감사합니다! 날짜에 따라 하나의 마스터 시트를 여러 시트로 분할하는 코드를 찾으려고 합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 대단했어요! 이 과정을 하려면 30시간 넘게 걸렸겠지만 XNUMX초 이내에 완료되었습니다. 이것은 내 VBA 라이브러리에 보관할 것입니다. 고맙습니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 제 워크시트에 30000개의 셀이 있고 몇 달 안에 분할해야 합니다. 더 빨리 하는 데 사용할 수 있는 코드가 있습니까? 나는 8개의 열을 가지고 있고 날짜는 열 B입니다. 나는 주어진 위의 코드를 가지고 놀았지만 큰 시간에 실패했습니다. 도와주시겠어요? 미리 감사드립니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
다음 오류가 발생합니다. 런타임 오류 '6' 오버플로 디버깅 후 표시 For i = 2 To Ir 내 Excel 행이 500,000개 이상입니다. 어떤 해결책이 있습니까? 코드에 대해 대단히 감사합니다. 베스트 가드 록
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 코드를 주셔서 대단히 감사합니다. 다음 오류가 발생합니다. For i = 6 To Ir 라인에서 런타임 오류 '2' 오버플로 이에 대한 솔루션입니다. 고맙습니다
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
F5 키를 누르면 오류가 발생합니다 - 참조를 요청하는 이동 상자??
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
VBA 프로세스가 완벽하게 작동했습니다. 전문 지식을 공유하고 많은 시간을 절약해 주셔서 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
VBA 코드는 완벽하게 작동했습니다. Sheet1이 변경되면 시트가 업데이트되지 않는 것 같습니다. 도와주세요.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 저에게 맞는 코드 감사합니다! 질문/비고가 1개뿐입니다. 2 복사된 데이터는 원본 파일의 레이아웃을 포함하지 않습니다. 자동 필터를 사용하여 데이터를 테이블로 복사할 수 있습니까? XNUMX 복사된 데이터가 제목 범위에 제한되지 않는 것 같습니다. 특정 범위 또는 테이블 이름에 대한 코드를 조정할 수 있습니까? 이러한 조정은 매우 도움이 될 것입니다. 안부, 피터
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매력처럼 작동합니다! 고맙습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
매력처럼 작동합니다... 프리미엄 코드 감사합니다... :lol:
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
정말 감사합니다. 그러나 각 탭의 데이터를 다시 정렬하려면(다른 열 사용) 어떻게 해야 합니까? 기본적으로 이 VBA는 탭으로 나누지만 더 세분화하고 싶을 수도 있습니다. 그게 가능합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요 Jonathan, 제가 알고 있는 오래된 의견이지만 미래에 다른 사람들에게 도움이 될 수 있습니다. 이 작업을 수행해야 했지만 VBA로 쉬운 방법을 찾을 수 없었습니다. 그러나 스프레드시트에 새 열을 2의 병합으로 만들면 =A1&" "&A2 이렇게 하면 두 가지 정보 세트가 포함된 1개의 셀이 제공됩니다. 그런 다음 위의 모듈을 실행할 수 있으며 제대로 작동합니다! 편집 - 열의 데이터는 30자 미만이어야 합니다. 그렇지 않으면 데이터가 복사되지 않고(모듈에 오류로 표시됨) 새 시트 중간에 빈 시트가 생깁니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
굉장합니다. 이것은 충격적이었습니다. 나는 이 문제로 오랫동안 고군분투했고 이 코드는 유예로 들어왔습니다. 공유해 주셔서 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
놀라운. 게시해 주셔서 감사합니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
코드는 더 작은 데이터(1200행 미만)의 매력처럼 작동했습니다. (17000개 행) 더 큰 워크시트에서 사용하려고 했으나 10-12개 시트로 분할한 후 충돌이 발생했습니다. 그래서 우리는 원본 데이터를 3개의 다른 통합 문서로 분할하려고 시도했지만 여전히 종료되었습니다. Windows 7이 있고 컴퓨터도 그렇게 느리지 않습니다. 이 코드를 안전하게 사용하기 위해 데이터의 제한된 행을 제안하시겠습니까? 어떤 제안이라도 감사하겠습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
코드는 더 작은 데이터(1200행 미만)의 매력처럼 작동했습니다. (17000개 행) 더 큰 워크시트에서 사용하려고 했으나 10-12개 시트로 분할한 후 충돌이 발생했습니다. 그래서 우리는 원본 데이터를 3개의 다른 통합 문서로 분할하려고 시도했지만 여전히 종료되었습니다. Windows 7이 있고 컴퓨터도 그렇게 느리지 않습니다. 이 코드를 안전하게 사용하기 위해 데이터의 제한된 행을 제안하시겠습니까? 어떤 제안이라도 감사하겠습니다. 확실하지 않은 점은 다음과 같습니다. 매크로가 지원할 수 있는 최대 행 수는 얼마입니까? 나는 그것을 가지고 놀 수 있습니다 ... 그것은 20k에서 40k 사이의 어딘가에 있습니다![/인용]
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
같은 문제에 직면했습니다. 코드는 데이터 행이 적은 시트에서 작동하지만 더 큰 데이터의 경우 "Excel은 사용 가능한 리소스로 이 작업을 완료할 수 없습니다. 더 적은 데이터를 선택하거나 다른 응용 프로그램을 닫습니다"라는 오류를 표시합니다(동시에 작동하는 다른 응용 프로그램이 없음) 코드 더 작은 데이터(1200행 미만)에 대한 매력처럼 작동했습니다. (17000개 행) 더 큰 워크시트에서 사용하려고 했으나 10-12개 시트로 분할한 후 충돌이 발생했습니다. 그래서 우리는 원본 데이터를 3개의 다른 통합 문서로 분할하려고 시도했지만 여전히 종료되었습니다. Windows 7이 있고 컴퓨터도 그렇게 느리지 않습니다. 이 코드를 안전하게 사용하기 위해 데이터의 제한된 행을 제안하시겠습니까? 어떤 제안이라도 감사하겠습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
당신은 나의 영원한 영웅입니다! 나는 운이 없이 몇 달 동안 이것을 사냥했다. 나는 이 주간/월간 보고서를 147개 이상의 워크시트로 나누어야 하고 그들은 나에게 kutools를 얻지 못할 것입니다. 그런 점에서.. 코딩을 정말 배워야 해요. :( 하지만 감사합니다!
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, 65000개의 레코드가 있고 8개의 다른 경우가 있는 시트가 있으므로 기본적으로 80개의 다른 시트를 생성해야 합니다. 이 코드를 실행하려고 했지만 런타임 오류 6 오버플로가 발생합니다. 내 문제를 해결하기 위해 이 코드를 조정할 수 있습니까? 도움을 주시면 감사하겠습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
[인용]안녕하세요, 65000개의 레코드가 있고 8개의 다른 경우가 있는 시트가 있으므로 기본적으로 80개의 다른 시트를 생성해야 합니다. 이 코드를 실행하려고 했지만 런타임 오류 6 오버플로가 발생합니다. 내 문제를 해결하기 위해 이 코드를 조정할 수 있습니까? 도움을 주시면 감사하겠습니다.에이스로[/인용] Dim vcol, i As Integer를 Dim vcol, i As Long으로 변경해 보십시오.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
안녕하세요, DIM vcol을 LOng으로 변경하려고 시도했지만 제대로 작동했지만 갑자기 오류를 통해 이 작업을 완료하는 데 메모리가 충분하지 않습니다. 더 적은 데이터를 사용하거나 다른 응용 프로그램을 닫으십시오. 다른 응용 프로그램이 열려 있지 않지만. 나는 100k 행과 약 16k 행을 가지고 있습니다. XNUMXMB 파일 크기. 도움을 주시면 감사하겠습니다. 감사합니다 무스타파
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
멋진 코드 - 완벽하게 작동합니다(스프레드시트에 필요한 변수로 변수를 변경하는 경우)
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
행 수가 가변적인 시트가 있습니다. 열 중 하나는 2010년 이후의 날짜입니다. 다른 열은 날짜에 대한 각 펀드의 NAV 데이터가 있는 펀드 이름입니다. 따라서 열을 다른 시트로 분할하고 싶지 않습니다. 각 FUND NAME을 일일 날짜가 아닌 월말 날짜당 NAV 데이터가 있는 자체 시트로 분할하고 싶습니다. 이것이 가능합니까 아니면 불가능합니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
내가 사용하는 워크시트가 있고 계정 이름을 재구성하고 특정 행을 같은 이름의 새 통합 문서 및 시트에 복사하는 vba 코드를 찾으려고 합니다. 도와주시겠습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
엄청난! VBA 코드가 작동합니다. 감사합니다! 이러한 출력 워크시트가 워크시트 대신 개별 Excel 파일에 있어야 하며 많은 워크시트로 분할할 때 오류가 있습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
Starscor와 Tim은 행 이름을 사용하여 파일 시트를 여러 파일로 분할하려는 경우 동일한 웹 페이지에 이를 수행하는 작은 매크로 코드가 있습니다. "분할 통합 문서를 Excel 파일로 분리"를 검색하면 됩니다. 찾을 것입니다. 중복된 end sub와 sub를 삭제하는 이 예제의 코드를 이 끝에 추가하면 각각에 대해 하나의 파일이 생성됩니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
누구든지 같은 통합 문서의 다른 시트에 있는 열을 한 번에 정렬하고 동일한 통합 문서에 약 65개의 시트가 있으므로 다른 시트에서 중복을 제거하는 방법을 도와줄 수 있습니까?
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
이것은 매우 흥미 롭습니다! 고맙습니다. 나는 이것을 한동안 찾았습니다.
이 댓글은 사이트의 중재자에 의해 최소화되었습니다
훌륭합니다. 공유해 주셔서 감사합니다. 하이라이트/형식을 새 워크시트에 전파합니다!
아직 코멘트가 없습니다
더보기
여러분의 의견을 남겨
게스트로 게시
×
이 게시물 평가 :
0   등장 인물
추천 위치

Follow Us

저작권 © 2009 - WWW.extendoffice.com. | 판권 소유. 에 의해 구동 ExtendOffice. | | 사이트 맵
Microsoft 및 Office 로고는 미국 및 / 또는 기타 국가에서 Microsoft Corporation의 상표 또는 등록 상표입니다.
Sectigo SSL로 보호