워크시트를 요약하면 분할됩니다. 워크시트를 빠르게 분할하는 방법은 무엇입니까? 이 글에서는 효율성을 99.99%까지 높이는 워크시트를 빠르게 분할하는 두 가지 방법을 공유합니다. 이 방법이 모든 사람에게 도움이 되기를 바랍니다.
이러한 문제에 직면한 적이 있습니까? 모든 정보를 하나의 테이블에 요약한 후 특정 조건에 따라 이 큰 테이블을 여러 워크시트로 분할해야 합니다. 이것이 어떻게 달성될 수 있습니까? 아마도 가장 어리석은 방법은 원본 워크시트의 데이터를 필터링한 다음 복사하여 새 워크시트에 붙여넣는 것입니다. 그러나 이 방법은 데이터가 많은 경우에는 적합하지 않으며 새 워크시트의 이름도 하나씩 바꿔야 합니다. 하나는 번거로운 일입니다. 오늘은 워크시트를 분할하는 빠르고 실용적인 두 가지 방법을 소개하겠습니다.
그림에 표시된 것처럼 이제 이 워크시트의 내용을 도시별로 여러 워크시트로 분할해야 합니다.
VBA는 EXCEL에서 대량의 반복 작업을 처리하는 데 가장 적합한 도구입니다. 하지만 VBA에 대해 전혀 모르는 분들이 많기 때문에 오늘은 코드 일부를 공유하고, 실제 테이블에 맞춰 코드 값을 수정하는 방법을 자세하게 설명하여 업무에 활용하실 수 있도록 하겠습니다.
(1) Alt+F11을 눌러 VBA 편집기를 열고 "삽입" 메뉴에서 "모듈"을 클릭합니다.
(2) 오른쪽 코드창에 다음 코드를 입력합니다. 직접 입력하기 싫으시면 그룹에 가입하셔서 준비된 코드 파일을 다운받아 복사해서 붙여넣으시면 됩니다.
Sub 분할 테이블()
Dim i, iRow, iCol, t, iNum As Integer, sh As Worksheet, str As String Application.ScreenUpdating = False With Worksheets("Sheet1") iRow = .Range("A65535").End(xlUp).Row iCol = .Range("IV1").End(xlToLeft).Column t = 3 For i = 2 To iRow str = .Cells(i, t).Value On Error Resume Next Set sh = Worksheets(str) If Err.Number <> 0 Then Set sh = Worksheets.Add(, Worksheets(Worksheets.Count)) sh.Name = str End If sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value iNum = sh.Range("A" & Rows.Count).End(xlUp).Row sh.Range("A" & iNum + 1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value Next i End With Application.ScreenUpdating = True End Sub
코드 분석:
여기서 빨간색 텍스트는 실제 상황에 따라 수정해야 하는 코드 매개 변수를 나타냅니다. 다음 텍스트는 영향을 미치지 않습니다. 코드 작업은 코드를 설명하기 위해서만 사용됩니다. 여기에서는 주석 텍스트가 회색으로 구체적으로 표시됩니다.
Sub Split table '파일명, 본인 파일명에 맞게 수정하세요
Dim i, iRow, iCol, t, iNum을 정수로, sh를 워크시트로, str을 문자열로
Application.ScreenUpdating = False '화면 새로고침 끄기
With Worksheets("Sheet1")'큰따옴표는 통합 문서 이름,실제 통합 문서 이름에 맞게 수정
iRow = .Range("A65535").End(xlUp).Row ' A 열의 마지막 행부터 시작하여 워크시트의 행 수를 위쪽으로 가져옵니다. 일반적으로 변경 사항만 변경됩니다. Range 열 매개변수의 중간, 워크시트의 유효 영역을 B열부터 시작하려면 값은 B65535
입니다.iCol = .Range("IV1").End(xlToLeft).Column'마지막 열의 1 행부터 시작하여 워크시트의 열 수를 가져옵니다(IV). 일반적으로 Range의 행 매개변수만 변경합니다. 워크시트의 유효 영역을 2 행부터 시작하려면 값은 IV2
입니다. t = 3 't은 열 수입니다. 분할할 열을 설정합니다. 예를 들어 E 열로 분할하는 경우 다음은 t=5
입니다. For i = 2 To iRow 'i는 분할 값을 가져올 행 수를 설정합니다. 실제 워크시트
에 따라 변경되어야 합니다. str = .Cells(i, t).Value '셀(i, t)의 값을 분할 테이블 이름으로 가져오기
오류 발생 시 다음 재개
Set sh = Worksheets(str) '위에서 얻은 값의 이름을 딴 워크시트를 생성합니다
Err.Number 0이면 '이 워크시트가 없으면 추가하고 이름을 지정하세요.
sh 설정 = Worksheets.Add(, Worksheets(Worksheets.Count))
sh.이름 = str
End If '이 워크시트가 존재하는 경우
sh.Range("A1").Resize(1, iCol).Value = .Range("A1").Resize(1, iCol).Value '워크시트 제목 가져오기. 일반적으로 Range의 열 값과 Resize의 행 값만 변경됩니다. 예를 들어 워크시트의 제목은 B 열 3 행, 이 코드는 sh.Range("B1").Resize(3, iCol).Value = .Range("B1").Resize(3, iCol).Value '
iNum = sh.Range("A" & Rows.Count).End(xlUp).Row ' 일반적으로 Range의 열 값만 변경됩니다. 예를 들어 워크시트가 B 열에서 시작하면 Range(" B" 및 행.개수).End(xlUp).Row
sh.Range("A" & iNum + 1).Resize(1, iCol).Value = .Range("A" & i).Resize(1, iCol).Value
' 워크시트를 새 시트에 붙여넣습니다. 데이터의 경우 일반적으로 Range의 열 값만 변경됩니다. 워크시트가 B 열에서 시작하는 경우 B를 Range("B")로 변경합니다. & iNum + 1).Resize(1, iCol).Value = .Range("B" & i).Resize(1, iCol).Value
다음은
끝
Application.ScreenUpdating = True '화면 새로고침 켜기
End Sub
(3) 코드 입력이 완료되면 메뉴바에서 "Run Subprocess"를 클릭합니다. 이런 식으로 워크시트가 분할됩니다.
다음과 같이 완료하세요.
이렇게 하면 원클릭으로 워크시트 분할이 완료됩니다.
피벗 테이블은 데이터 통계 분석에 절대적인 이점을 제공할 뿐만 아니라 필터 페이지를 사용하여 워크시트 분할 기능을 구현하는 데 도움이 됩니다. 단계는 다음과 같습니다.
(1) 데이터 소스에서 셀을 선택하고 삽입 탭에서 "피벗 테이블"을 클릭합니다. 기존 워크시트를 선택하고 확인을 클릭합니다.
(2) 분할할 "City" 필드를 필터 필드에 넣고, "Date" 및 "Salesperson" 필드를 행 필드에, "Sales" 필드를 값 필드에 넣습니다.
(3) 새 워크시트를 생성할 때 테이블 형식을 쉽게 만들 수 있도록 피벗 테이블 형식을 수정합니다.
"피벗 테이블 도구" 아래의 "디자인" 탭에 있는 "보고서 레이아웃" 드롭다운 메뉴에서 "테이블로 표시"를 선택하세요.
"피벗 테이블 도구" 아래의 "디자인" 탭에 있는 "보고서 레이아웃" 드롭다운 메뉴에서 "모든 항목 레이블 반복"을 선택하세요.
"피벗 테이블 도구" 아래의 "디자인" 탭에 있는 "소계" 드롭다운 메뉴에서 "소계 표시 안 함"을 선택하세요.
완성된 결과는 다음과 같습니다.
(4) 마지막으로 피벗 테이블을 개별 워크시트로 분할합니다. "피벗 테이블 도구" 아래 "분석" 탭의 "피벗 테이블" 기능 블록에 있는 "옵션" 드롭다운 메뉴에서 "보고서 필터 페이지 표시"를 선택하고 보고서 필터 페이지의 필드로 "도시"를 선택합니다. 표시됩니다.
(5) 후속 처리를 용이하게 하기 위해 피벗 테이블을 일반 테이블로 수정합니다. 첫 번째 워크시트를 선택하세요. "Beijing", Shift 키를 누른 채 마지막 워크시트 "Chongqing"을 클릭하여 워크시트 그룹을 형성합니다. 이를 통해 모든 워크시트에 대한 일괄 작업을 일괄적으로 수행할 수 있습니다.
모두 선택하고 값으로 복사하여 붙여넣으세요.
처음 두 행을 삭제한 다음 날짜 열의 너비를 조정하면 작업이 완료됩니다. 결과는 다음과 같습니다.
피벗 테이블 방식은 사용하기 쉽지만 단계가 더 많은 반면, VBA는 조작이 간단하지만 배울 점이 많습니다. 각자 자신의 실제 상황에 따라 사용하기로 결정했습니다. 좋다고 생각하시면 좋아요를 눌러주세요!
관련 학습 권장 사항: excel 튜토리얼
위 내용은 실용적인 Excel 기술 공유: 워크시트를 빠르게 분할하는 두 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!