ไปยังเนื้อหาหลัก

วิธีแบ่งตารางขนาดใหญ่เป็นตารางขนาดเล็กหลาย ๆ ตารางใน Excel

ผู้เขียน: Xiaoyang แก้ไขล่าสุด: 2024-12-02

หากคุณมีตาราง Excel ขนาดใหญ่ที่มีหลายคอลัมน์และหลายร้อยหรือหลายพันแถว คุณอาจต้องการแยกตารางออกเป็นตารางที่เล็กกว่าและจัดการได้ง่ายกว่า ตัวอย่างเช่น คุณอาจต้องแยกข้อมูลตามค่าคอลัมน์เฉพาะหรือแบ่งข้อมูลออกเป็นกลุ่มที่มีจำนวนแถวคงที่ บทช่วยสอนนี้ให้วิธีการทีละขั้นตอนเพื่อทำงานนี้ให้สำเร็จอย่างมีประสิทธิภาพ

ตารางหลัก   แยกตารางออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์ แบ่งตารางออกเป็นหลาย ๆ ตารางตามจำนวนแถว
ภาพหน้าจอของตารางขนาดใหญ่ใน Excel ก่อนที่จะแยก ลูกศร ภาพหน้าจอของตาราง Excel ที่แยกตามค่าคอลัมน์ ภาพหน้าจอของตาราง Excel ที่แยกตามจำนวนแถว

แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์ด้วยรหัส VBA

แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามจำนวนแถวที่ระบุด้วยรหัส VBA

แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์หรือจำนวนแถวด้วยคุณสมบัติที่น่าทึ่ง


แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์ด้วยรหัส VBA

หากต้องการแบ่งตารางขนาดใหญ่นี้ออกเป็นหลาย ๆ ตารางโดยยึดตามค่าคอลัมน์ที่ระบุรหัส VBA ต่อไปนี้สามารถช่วยคุณได้ กรุณาทำตามนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามคอลัมน์หลัก:

Sub Splitdatabycol()
'by 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
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
Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move after:=Worksheets(Worksheets.Count)
End If
xWSTRg.Range(title).Copy
Sheets(myarr(i) & "").Paste Destination:=Sheets(myarr(i) & "").Range("A1")
ws.Range("A" & (titlerow + xTRg.Rows.Count) & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").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ตารางขนาดใหญ่ถูกแบ่งออกเป็นเวิร์กชีตหลายแผ่นตามค่าของคอลัมน์ โดยที่เวิร์กชีตใหม่จะอยู่หลังแผ่นงานหลัก และเวิร์กชีตใหม่จะตั้งชื่อตามค่าของคอลัมน์ ดูภาพหน้าจอ:

ภาพหน้าจอแสดงเวิร์กชีตหลายแผ่นที่สร้างขึ้นหลังจากแบ่งตามค่าคอลัมน์


แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามจำนวนแถวที่ระบุด้วยรหัส VBA

หากคุณต้องการแบ่งตารางออกเป็นหลาย ๆ ตารางตามจำนวนแถวรหัส VBA ต่อไปนี้สามารถช่วยคุณได้

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง.

รหัส VBA: แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามจำนวนแถว:

Sub Splitdatabyrows()
'Updated by Extendoffice 
Dim WorkRng As Range
Dim xRow As Range
Dim SplitRow As Integer
Dim xWs As Worksheet
Dim xTRg As Range
Dim xNTRg As Range
Dim xIER
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set xTRg = Application.InputBox("Please select the header row:", xTitleId, "", Type:=8)
If TypeName(xTRg) = "Nothing" Then Exit Sub
Set WorkRng = Application.InputBox("Please select the data range(exclude the header row):", xTitleId, WorkRng.Address, Type:=8)
If TypeName(WorkRng) = "Nothing" Then Exit Sub
SplitRow = Application.InputBox("Split Row Num", xTitleId, Type:=1)
If SplitRow = 0 Then Exit Sub
Set xWs = WorkRng.Parent
Set xRow = WorkRng.Rows(1)
xIER = WorkRng.Rows.Count
xIER = WorkRng.Row + xIER - 1
Application.ScreenUpdating = False
For i = 1 To WorkRng.Rows.Count Step SplitRow
    resizeCount = SplitRow
    If (xIER - xRow.Row + 1) < SplitRow Then
        resizeCount = (xIER - xRow.Row + 1)
    End If
    xRow.Resize(resizeCount).Copy
    Set xWs = Application.Worksheets.Add(after:=Application.Worksheets(Application.Worksheets.Count))
    If xIER > (xRow.Row + SplitRow - 1) Then
        xWs.Name = xRow.Row & " - " & (xRow.Row + SplitRow - 1)
    ElseIf xIER = xRow.Row Then
        xWs.Name = xRow.Row
    Else
        xWs.Name = xRow.Row & " - " & xIER
    End If
    Application.ActiveSheet.Range("A1").PasteSpecial
    Set xNTRg = Application.ActiveSheet.Range("A1")
    xTRg.Copy
    xNTRg.Insert
    Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

3. จากนั้นกด F5 ในกล่องโต้ตอบที่โผล่ขึ้นมาให้เลือกแถวส่วนหัวดูภาพหน้าจอ:

ภาพหน้าจอที่แสดงวิธีการเลือกแถวส่วนหัวเพื่อแยกตามจำนวนแถว

4. จากนั้นคลิก OKและในกล่องพร้อมต์ที่สองเลือกช่วงข้อมูลที่คุณต้องการแบ่งตามจำนวนแถวดูภาพหน้าจอ:

ภาพหน้าจอที่แสดงวิธีการเลือกช่วงข้อมูลสำหรับการแบ่งตามแถว

5. จากนั้นไปที่คลิก OK ในช่องพร้อมต์ที่สามให้ป้อนจำนวนแถวที่คุณต้องการแยกดูภาพหน้าจอ:

ภาพหน้าจอที่แสดงวิธีการป้อนจำนวนแถวสำหรับการแยกใน Excel

6. จากนั้นคลิก OK ปุ่มตารางหลักถูกแบ่งออกเป็นหลายแผ่นตามจำนวนแถวที่แสดงด้านล่างภาพหน้าจอ:

ภาพหน้าจอของเวิร์กชีตหลายแผ่นที่สร้างขึ้นหลังจากแบ่งตามจำนวนแถว


แบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์หรือจำนวนแถวด้วยคุณสมบัติที่น่าทึ่ง

โค้ดด้านบนอาจจะยากสำหรับผู้ใช้ส่วนใหญ่ แต่ที่นี่ฉันจะแนะนำฟีเจอร์ที่น่าทึ่ง แยกข้อมูล of Kutools สำหรับ Excel. ด้วยยูทิลิตี้นี้คุณสามารถแบ่งตารางขนาดใหญ่ออกเป็นหลาย ๆ ตารางตามคอลัมน์หลักหรือจำนวนแถวได้อย่างรวดเร็วและง่ายดาย

Kutools สำหรับ Excel นำเสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อปรับปรุงงานที่ซับซ้อน เพิ่มความคิดสร้างสรรค์และประสิทธิภาพ เสริมด้วยความสามารถด้าน AI, Kutools ทำงานอัตโนมัติด้วยความแม่นยำ ทำให้การจัดการข้อมูลเป็นเรื่องง่าย ข้อมูลโดยละเอียดของ Kutools for Excel...         ทดลองฟรี...

1. เลือกช่วงข้อมูลที่คุณต้องการแยกจากนั้นคลิก Kutools พลัส > แยกข้อมูลดูภาพหน้าจอ:

ภาพหน้าจอของตัวเลือก Kutools Split Data ใน Excel

2. ใน แยกข้อมูลออกเป็นหลายแผ่นงาน กล่องโต้ตอบระบุการตั้งค่าตามความต้องการของคุณ:

(1. ) เลือก คอลัมน์เฉพาะ or แถวคงที่ จาก แยกตาม ส่วนตามที่คุณต้องการ

(2. ) ระบุชื่อแผ่นงานใหม่จากไฟล์ กฎระเบียบ รายการแบบเลื่อนลงคุณสามารถเพิ่มไฟล์ อุปสรรค or วิภัตติ ไปยังชื่อแผ่นงานด้วย

ภาพหน้าจอแสดงการตั้งค่าสำหรับการแยกข้อมูลโดยใช้ Kutools

3. จากนั้นคลิก Ok และตอนนี้ตารางขนาดใหญ่ได้ถูกแบ่งออกเป็นตารางเล็ก ๆ หลายตารางในสมุดงานใหม่ ดูภาพหน้าจอ:

แยกตารางออกเป็นหลาย ๆ ตารางตามค่าคอลัมน์ แบ่งตารางออกเป็นหลาย ๆ ตารางตามจำนวนแถว
ภาพหน้าจอของตาราง Excel ที่แยกเป็นเวิร์กชีตตามค่าคอลัมน์โดยใช้ Kutools ภาพหน้าจอของตาราง Excel ที่แยกเป็นเวิร์กชีตตามจำนวนแถวโดยใช้ Kutools

Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ AI ฟรีถาวร! Get It Now


บทความที่เกี่ยวข้องเพิ่มเติม:

  • แยกสมุดงานเพื่อแยกไฟล์ Excel ใน Excel
  • คุณอาจต้องแยกสมุดงานขนาดใหญ่เพื่อแยกไฟล์ Excel โดยบันทึกแต่ละแผ่นงานของสมุดงานเป็นไฟล์ Excel แต่ละแผ่น ตัวอย่างเช่นคุณสามารถแบ่งสมุดงานออกเป็นไฟล์ Excel หลายไฟล์จากนั้นส่งแต่ละไฟล์ไปยังบุคคลอื่นเพื่อจัดการกับมัน ด้วยการทำเช่นนี้คุณจะได้รับบุคคลบางคนจัดการกับข้อมูลบางอย่างและรักษาข้อมูลของคุณให้ปลอดภัย บทความนี้จะแนะนำวิธีแยกสมุดงานขนาดใหญ่เพื่อแยกไฟล์ Excel ตามแต่ละแผ่นงาน
  • แยกชื่อเต็มเป็นชื่อและนามสกุลใน Excel
  • สมมติว่าคุณมีบัญชีรายชื่อเมื่อภาพหน้าจอแรกแสดงในคอลัมน์เดียวด้านล่างและคุณต้องแบ่งชื่อเต็มเป็นคอลัมน์ชื่อคอลัมน์ชื่อกลางและคอลัมน์นามสกุลตามภาพหน้าจอต่อไปนี้ ต่อไปนี้เป็นวิธีการที่ยุ่งยากเพื่อช่วยคุณแก้ปัญหานี้
  • แบ่งคอลัมน์ยาวออกเป็นหลายคอลัมน์ใน Excel
  • หากคุณมีข้อมูลคอลัมน์แบบยาวใน Excel ซึ่งจะเป็นปัญหาเมื่อดูข้อมูลเหล่านี้ แต่ตอนนี้ถ้าคุณสามารถแยกรายการยาว ๆ ออกเป็นหลายคอลัมน์ใน Excel ได้ก็จะทำให้การดูสะดวกขึ้น
  • แยกคำหรือตัวเลขออกเป็นเซลล์แยกใน Excel
  • หากคุณมีรายการตัวเลขหรือคำในแผ่นงานและตอนนี้คุณต้องแยกเนื้อหาของเซลล์ออกเป็นตัวอักษรในเซลล์ต่างๆตามภาพหน้าจอต่อไปนี้คุณจะจัดการกับงานนี้ใน Excel ได้อย่างไร?

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

🤖 Kutools AI ผู้ช่วย: ปฏิวัติการวิเคราะห์ข้อมูลโดยยึดตาม: การดำเนินการที่ชาญฉลาด   |  สร้างรหัส  |  สร้างสูตรที่กำหนดเอง  |  วิเคราะห์ข้อมูลและสร้างแผนภูมิ  |  เรียกใช้ฟังก์ชัน Kutools...
คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!