ปกติการคีย์ข้อมูลแล้วให้นำข้อมูลไปวางใน Database นั้นดูเป็นเรื่องปกติและสามารถทำได้ด้วย VBA ครับ แต่ที่จะนำเสนอต่อไปนี้เป็นการคีย์ข้อมูลลงในฐานข้อมูลแล้วให้โปรแกรมทำการเรียงข้อมูลให้ใหม่ซึ่งออกจะแปลกไปสักหน่อย โดยให้เซลล์ที่เพิ่งคีย์ไปนั้นย้ายไปต่อท้ายข้อมูลด้านบนลงมาเรื่อย ๆ เนื่องจากว่าไม่ได้คีย์ตามลำดับ แต่เลือกที่จะคีย์เซลล์ใด ๆ ก็ได้ ดูภาพประกอบด้านล่างครับ
ภาพประกอบการคีย์ข้อมูลแล้วให้ข้อมูลไปต่อจากข้อมูลด้านบน
การทำเช่นนี้สามารถใช้ Worksheet Change Envent โดยวาง Code VBA ด้านล่างที่ Sheet1 ในโปรแกรม VBE จากนั้นทดสอบคีย์ข้อมูลตามต้องการ
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
With Target
If .Count <> 1 Then
Exit Sub
ElseIf .Column = 2 And .Offset(1, 0) = "" _
And .Offset(-1, 0) = "" Then
.Offset(0, -1).Resize(, 2).Cut
.End(xlUp).Offset(1, -1) _
.Resize(, 2).Insert shift:=xlDown
End If
End With
Application.ScreenUpdating = True
End Sub