? การ Import ข้อมูลจากระบบอื่นเข้ามาใน Excel หรือแม้กระทั่งการดาวน์โหลดข้อมูลออกมาจากระบบหลักของกิจการ ในบางครั้งกลับพบว่าข้อมูลที่ได้มานั้นมีความไม่เป็นระเบียบ เช่นมีบรรทัดทัดว่าง มีคอลัมน์ว่างเกินความต้องการ หรือข้อมูลกระจายเป็นกลุ่ม ๆ ?
Video ด้านล่างนี้แสดงการใช้ VBA รวมรวมข้อมูลที่กระจัดกระจายเป็นกลุ่ม ๆ ในหลาย ๆ พื้นที่มาเรียงใหม่ให้เป็น Database พร้อมที่จะใช้ทำรายงาน สามารถทำซ้ำได้ตามต้องการ กรณีที่เราทำซ้ำด้วยข้อมูลที่ได้รับข้อมาใหม่ โปรแกรมจะมีการ Clear ข้อมูลเดิมใน Database ทิ้งไปก่อนแล้วนำข้อมูลล่าสุดมาเรียงให้ใหม่ด้วย Code ตามด้านล่าง ?
Sub CollectData() Dim rng As Range With Sheets("Sheet2") .UsedRange.ClearContents .Range("a1:c1").Value = Array("Prd", "Qty", "Amt") For Each rng In Sheets("Sheet1").UsedRange.SpecialCells( _ xlCellTypeConstants).Areas .Range("a" & .Rows.Count).End(xlUp).Offset(1, 0) _ .Resize(rng.Rows.Count - 1, 3).Value = _ rng.Offset(1, 0).Resize(rng.Rows.Count - 1, 3).Value Next rng End With End Sub
📹 Video แสดงการรวมข้อมูลที่กระจัดกระจายมาเป็น Database
🧭 Timeline หัวข้อหลัก
- 00:00:18 แนะนำปัญหา: ข้อมูลจากระบบอื่นมีความไม่เป็นระเบียบ
- 00:00:45 วิเคราะห์รูปแบบข้อมูลที่กระจัดกระจาย
- 00:01:20 เปิด VBE และสร้าง Module สำหรับเขียนโค้ด
- 00:01:50 เขียน VBA เพื่อวนลูปเก็บข้อมูลจากแต่ละกลุ่ม
- 00:03:15 ล้างข้อมูลเดิมในชีตปลายทางก่อนนำข้อมูลใหม่มาใส่
- 00:04:10 วางข้อมูลใหม่ในรูปแบบฐานข้อมูลที่เป็นระเบียบ
- 00:04:45 สรุป: ได้ข้อมูลที่พร้อมใช้งานสำหรับรายงานหรือวิเคราะห์ต่อยอด