? ข้อมูลที่อยู่ในรูปแบบรายงานและวางข้อมูลอยู่ในคอลัมน์เดียว เมื่อจะนำไปใช้งานต่อจะมีความยุ่งยากลำบาก เพื่อให้สะดวกต่อการใช้งานควรแยกออกมาเป็น 2 คอลัมน์หรือมากกว่า ขึ้นอยู่กับลักษณะของข้อมูล เพื่อที่จะทำให้เป็น Database เสียก่อน เพื่อความสะดวกหากต้องการนำไปใช้ทำรายงานในรูปแบบที่ต้องการต่อไป
Video ด้านล่างนี้แสดงการนำข้อมูลที่ถูกจัดเก็บเป็นรูปแบบรายงานแต่อยู่ในคอลัมน์เดียว โดย Product จะเยื้องซ้าย ส่วนข้อมูล Quantity ที่เป็นตัวเลขจะเยื้องขวา เราจะนำข้อมูลดังกล่าวแยกออกมาเป็น 2 คอลัมน์ด้วย VBA เพื่อให้แสดงเป็น Database จะได้สะดวกในการนำไปทำรายงานตามต้องการ ตัวอย่าง Code ตามด้านล่างครับ
Sub MakeDatabase()
Dim r As Range, t As String
Dim arr(999, 1) As Variant, i As Integer
With Sheets(1)
.Range("c1").CurrentRegion.ClearContents
For Each r In .Range("a2", .Range("a" & .Rows.Count).End(xlUp))
If Not IsNumeric(r.Value) Then
t = r.Value
Else
arr(i, 0) = t
arr(i, 1) = r.Value
i = i + 1
End If
Next r
.Range("c1:d1").Value = Array("Pd", "Qty")
.Range("c2").Resize(i, 2).Value = arr
End With
End Sub