การรวมข้อมูล Excel หลาย sheet ให้อยู่ใน sheet เดียวกัน ด้วย VBA Code

เคยเจอเหตุการณ์ที่เรามีข้อมูลในไฟล์ Excel แบ่งเป็นหลายๆ sheet หรือไม่ และหากต้องการรวมข้อมูลให้อยู่ใน sheet เดียวกันต้องทำอย่างไร
ถ้าจะ copy ข้อมูลมาต่อกันก็คงจะเสียเวลา หากมีข้อมูลจำนวนมาก วันนี้เรามีวิธีการมานำเสนอ
โดยการเปิดใช้งาน Microsoft Visual Basic for Applications ซึ่งมีขั้นตอนดังนี้

1. กด Alt + F11 บน keyboard พร้อมกัน จากนั้นจะปรากฏหน้าต่าง Microsoft Visual Basic for Applications

หน้าต่าง Microsoft Visual Basic for Applications

2.คลิก Insert > Module จากนั้นให้ copy และ วางโค้ดด้านล่างลงในไฟล์ Module

Code ที่ต้อง Copy

Sub Combine()
‘UpdatebyExtendoffice20180205
Dim I As Long
Dim xRg As Range
On Error Resume Next
Worksheets.Add Sheets(1)
ActiveSheet.Name = “Combined”
For I = 2 To Sheets.Count
Set xRg = Sheets(1).UsedRange
If I > 2 Then
Set xRg = Sheets(1).Cells(xRg.Rows.Count + 1, 1)
End If
Sheets(I).Activate
ActiveSheet.UsedRange.Copy xRg
Next
End Sub

3. คลิก ปุ่ม เพื่อ Run โปรแกรม หรือ กด F5 บน keyboard เพื่อ Run โปรแกรม

4. จะปรากฏ sheet ใหม่ที่นำข้อมูลทั้งหมดมารวมกัน ชื่อ sheet Combined

ข้อมูลที่รวมกันใน sheet Combined

ผู้เขียน

สุพิชญา อาชวจิรดา
ฝ่ายระบบสารสนเทศ
สำนักคอมพิวเตอร์
supitchaya@g.swu.ac.th