วิธีแบ่งข้อมูลออกเป็นหลายแผ่นตามคอลัมน์ใน Excel
สมมติว่าคุณมีแผ่นงานที่มีข้อมูลจำนวนมากและตอนนี้คุณต้องแบ่งข้อมูลออกเป็นหลายแผ่นตาม ชื่อนามสกุล คอลัมน์ (ดูภาพหน้าจอต่อไปนี้) และชื่อจะถูกป้อนแบบสุ่ม บางทีคุณอาจเรียงลำดับก่อนจากนั้นคัดลอกและวางทีละแผ่นในแผ่นงานใหม่อื่น ๆ แต่ต้องใช้ความอดทนในการคัดลอกและวางซ้ำ ๆ วันนี้ฉันจะพูดคุยเกี่ยวกับเทคนิคด่วนในการแก้ปัญหานี้
แยกข้อมูลออกเป็นหลายแผ่นตามคอลัมน์ด้วยรหัส VBA
แบ่งข้อมูลออกเป็นหลายเวิร์กชีตตามคอลัมน์ด้วย Kutools for Excel
แยกข้อมูลออกเป็นหลายแผ่นตามคอลัมน์ด้วยรหัส 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 คีย์เพื่อเรียกใช้รหัสและกล่องพร้อมต์จะปรากฏขึ้นเพื่อเตือนให้คุณเลือกแถวส่วนหัวดูภาพหน้าจอ:
4. จากนั้นคลิก OK และในกล่องพรอมต์ที่สองโปรดเลือกข้อมูลคอลัมน์ที่คุณต้องการแยกตามดูภาพหน้าจอ:
5. จากนั้นคลิก OKและข้อมูลทั้งหมดในแผ่นงานที่ใช้งานอยู่จะถูกแบ่งออกเป็นหลายแผ่นงานตามค่าของคอลัมน์ และแผ่นงานที่แยกจะถูกตั้งชื่อด้วยชื่อเซลล์ที่แยก ดูภาพหน้าจอ:
หมายเหตุ: แผ่นงานแยกจะวางไว้ที่ส่วนท้ายของสมุดงานที่มีแผ่นงานหลักอยู่
แบ่งข้อมูลออกเป็นหลายเวิร์กชีตตามคอลัมน์ด้วย Kutools for Excel
ในฐานะผู้เริ่มต้นใช้งาน Excel รหัส VBA แบบยาวนี้ค่อนข้างยากสำหรับเราและพวกเราส่วนใหญ่ยังไม่รู้วิธีแก้ไขโค้ดตามความต้องการ ฉันจะแนะนำเครื่องมือมัลติฟังก์ชั่นให้คุณ -Kutools for Excelมัน แยกข้อมูล ยูทิลิตี้ไม่เพียง แต่ช่วยให้คุณแบ่งข้อมูลออกเป็นหลายแผ่นตามคอลัมน์ได้ แต่ยังสามารถแบ่งข้อมูลตามจำนวนแถวได้อีกด้วย
หมายเหตุที่จะใช้สิ่งนี้ แยกข้อมูลประการแรกคุณควรดาวน์โหลดไฟล์ Kutools for Excelแล้วใช้คุณสมบัตินี้อย่างรวดเร็วและง่ายดาย
หลังจากการติดตั้ง Kutools for Excelโปรดทำตามนี้:
1. เลือกช่วงของข้อมูลที่คุณต้องการแยก
2. คลิก Kutools พลัส > แผ่นงาน > แยกข้อมูลดูภาพหน้าจอ:
3. ใน แยกข้อมูลออกเป็นหลายแผ่นงาน คุณต้อง:
1). เลือก คอลัมน์เฉพาะ ตัวเลือกใน แยกตาม และเลือกค่าคอลัมน์ที่คุณต้องการแบ่งข้อมูลตามในรายการดรอปดาวน์ (หากข้อมูลของคุณมีส่วนหัวและคุณต้องการแทรกลงในแผ่นงานใหม่แต่ละแผ่นโปรดตรวจสอบ ข้อมูลของฉันมีส่วนหัว ตัวเลือก.)
2). จากนั้นคุณสามารถระบุชื่อแผ่นงานแยกภายใต้ ชื่อแผ่นงานใหม่ ระบุกฎชื่อเวิร์กชีตจากไฟล์ กฎระเบียบ รายการแบบเลื่อนลงคุณสามารถเพิ่มไฟล์ อุปสรรค or วิภัตติ สำหรับชื่อแผ่นงานด้วย
3). คลิก OK ปุ่ม. ดูภาพหน้าจอ:
4. ตอนนี้ข้อมูลถูกแบ่งออกเป็นหลายแผ่นในสมุดงานใหม่
คลิกเพื่อดาวน์โหลด Kutools for Excel และทดลองใช้งานฟรีทันที!
แบ่งข้อมูลออกเป็นหลายเวิร์กชีตตามคอลัมน์ด้วย Kutools for Excel
Kutools for Excel มีเครื่องมือ Excel ที่มีประโยชน์มากกว่า 300 รายการ ทดลองใช้ฟรีโดยไม่มีข้อ จำกัด ใน 30 วัน ดาวน์โหลดทดลองใช้ฟรีทันที!
บทความที่เกี่ยวข้อง:
จะแบ่งข้อมูลออกเป็นหลายแผ่นตามจำนวนแถวได้อย่างไร?
สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน
เสริมทักษะ Excel ของคุณด้วย Kutools for Excelและสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools for Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...
Office Tab นำอินเทอร์เฟซแบบแท็บมาสู่ Office และทำให้งานของคุณง่ายขึ้นมาก
- เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
- เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
- เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!















