บางครั้งต้อง แยกชีท Excel หลายชีทตามจำนวนแถว เพื่อคำนวณง่ายขึ้น บทความนี้สอนใช้ Microsoft Excel VBA แยกชีทอัตโนมัติ พร้อมตัวอย่างและคำอธิบาย
สมุดงานฝึกฝน
ดาวน์โหลดไฟล์ด้านล่างเพื่อฝึกปฏิบัติ
Excel VBA แยกชีทตามจำนวนแถว
VBA (Visual Basic for Applications) เป็นภาษาโปรแกรมยอดนิยมสำหรับ Excel ใช้สร้างฟังก์ชันกำหนดเอง เรียนรู้ง่าย ใช้งานสะดวก
ชีทต้นทางที่จะแยก
สมมติมีข้อมูลพนักงานและชั่วโมงทำงาน (B4:C10) ใน Sheet1 ต้องการแยกเป็นหลายชีท ชีทละ 2 แถว

ขั้นตอนที่ 1: เปิดหน้าต่าง VBA
- คลิกขวาที่แท็บชีท → View Code

ขั้นตอนที่ 2: ใส่และรันโค้ด VBA
- กด Alt + F11 เปิด VBA Editor → Insert → Module
- วางโค้ดด้านล่าง:
Sub SplitSheet()
Dim Rng As Range, xRow As Range
Dim SplitRow As Integer, xSheet As Worksheet
On Error Resume Next
xTitleId = "ExcelSplit"
Set Rng = Application.Selection
Set Rng = Application.InputBox("Range", xTitleId, Rng.Address, Type:=8)
SplitRow = Application.InputBox("Row Number Split", xTitleId, 5, Type:=1)
Set xSheet = Rng.Parent
Set xRow = Rng.Rows(1)
Application.ScreenUpdating = False
For i = 1 To Rng.Rows.Count Step SplitRow
resizeCount = SplitRow
If (Rng.Rows.Count - xRow.Row + 1) < SplitRow Then
resizeCount = Rng.Rows.Count - xRow.Row + 1
End If
xRow.Resize(resizeCount).Copy
Application.Worksheets.Add after:=Application.Worksheets(Application.Worksheets.Count)
Application.ActiveSheet.Range("A1").PasteSpecial
Set xRow = xRow.Offset(SplitRow)
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
- กด F5 หรือปุ่ม Run

ขั้นตอนที่ 3: เลือก Macro และรัน
- หน้าต่าง Macros ปรากฏ → เลือกชื่อ Macro → Run

ขั้นตอนที่ 4: เลือกช่วงข้อมูล
- กล่องโต้ตอบ ExcelSplit Range → เลือกช่วงข้อมูล → OK

ขั้นตอนที่ 5: กำหนดจำนวนแถวต่อชีท
- กล่อง ExcelSplit Row Number Split → ใส่จำนวนแถว (ตัวอย่างใส่ 2) → OK

ผลลัพธ์สุดท้าย
- ชีทหลักถูกแยกเป็นหลายชีท ชีทละ 2 แถว

สรุป
โค้ด VBA นี้แยกชีทตามจำนวนแถวที่กำหนดได้อัตโนมัติ เหมาะสำหรับข้อมูลจำนวนมากที่ต้องแบ่งทำงานแยกกัน มีสมุดงานฝึกฝนให้ลองทำได้
บทความที่เกี่ยวข้อง
- How to Split Excel Sheet into Multiple Sheets Based on Column Value
- How to Split Screen in Excel (3 Ways)
- Separate Sheets in Excel (6 Effective Ways)
- How to Split Excel Sheet into Multiple Files (3 Quick Methods)
- Split Sheets into Separate Workbooks in Excel (4 Methods)
- How to Split a Workbook to Separate Excel Files with VBA Code