? การ 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