เมื่อคีย์ข้อมูลแล้วให้ย้ายข้อมูลไปแสดงผลต่อจากข้อมูลด้านบน

ปกติการคีย์ข้อมูลแล้วให้นำข้อมูลไปวางใน Database นั้นดูเป็นเรื่องปกติและสามารถทำได้ด้วย VBA ครับ แต่ที่จะนำเสนอต่อไปนี้เป็นการคีย์ข้อมูลลงในฐานข้อมูลแล้วให้โปรแกรมทำการเรียงข้อมูลให้ใหม่ซึ่งออกจะแปลกไปสักหน่อย โดยให้เซลล์ที่เพิ่งคีย์ไปนั้นย้ายไปต่อท้ายข้อมูลด้านบนลงมาเรื่อย ๆ เนื่องจากว่าไม่ได้คีย์ตามลำดับ แต่เลือกที่จะคีย์เซลล์ใด ๆ ก็ได้ ดูภาพประกอบด้านล่างครับ

ภาพประกอบการคีย์ข้อมูลแล้วให้ข้อมูลไปต่อจากข้อมูลด้านบน

InsertAndShiftDown
ภาพ 1 นำค่าที่คีย์ไปต่อท้ายข้อมูลที่ด้านบน

การทำเช่นนี้สามารถใช้ 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

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top