การปรับปรุงข้อมูลพร้อมกันหลายรายการด้วย VBA

กรณีของการรวบรวมข้อมูลเช่นการทำงบประมาณจำปี ในระหว่างการรวบรวมข้อมูลมักจะมีการเปลี่ยนแปลงข้อมูลได้เสมอ การเปลี่ยนแปลงเพียงไม่กี่รายการย่อมไม่ส่งผลกระทบมากนัก แต่หากมีการเปลี่ยนแปลงหลาย ๆ รายการพร้อมกันทีเดียวจะเกิดความยุ่งยากลำบาก

แก่ผู้รวบรวมขึ้นทันที

Video ด้านล่างนี้แสดงการปรับปรุงเปลี่ยนแปลงข้อมูลพร้อมกันทีเดียวหลายรายการ ลดความผิดพลาดในการค้นหาด้วยสายตา เหมาะกับการเปลี่ยนแปลงจำนวนมาก ๆ ทำให้ประหยัดเวลาได้มหาศาล สามารถเปลี่ยนแปลงได้บ่อยครั้งเท่าที่ต้องการโดยไม่ส่งผลกระทบให้เกิดความยุ่งยากลำบากใจแก่ผู้รวบรวมข้อมูล โดยมีตัวอย่าง Code ตามด้านล่างครับ ?

Sub UpdateDataMultipleRecord()
    Dim rt As Range, rs As Range
    Dim d As Object, t As Variant
    
    Set d = CreateObject("Scripting.Dictionary")
    
    With Sheets("Sheet1")
        For Each rs In .Range("b2", .Range("b" & .Rows.Count).End(xlUp))
            d.Add Key:=rs.Value, Item:=rs.Offset(0, 1).Value & "|" & _
                rs.Offset(0, 2).Value
        Next rs
    End With
    With Sheets("Database")
        For Each rt In .Range("b2", .Range("b" & .Rows.Count).End(xlUp))
            If d.Exists(rt.Value) Then
                t = Split(d.Item(rt.Value), "|")
                rt.Offset(0, 1).Value = CLng(t(0))
                rt.Offset(0, 2).Value = CLng(t(1))
            End If
        Next rt
    End With
    MsgBox "Finish", vbInformation
End Sub

📹 Video แสดงการเปลี่ยนแปลงข้อมูลพร้อมกันหลายรายการ


🧭 Timeline หัวข้อหลัก

  • 00:00:13 แนะนำวัตถุประสงค์: ปรับปรุงข้อมูลหลายรายการพร้อมกันด้วย VBA
  • 00:00:45 สาธิตข้อมูลต้นทางที่ต้องการแก้ไข
  • 00:01:20 สร้างฟอร์มหรือกลไกสำหรับเลือกหลายรายการ
  • 00:02:10 เขียนโค้ด VBA เพื่ออัปเดตข้อมูลในหลายแถว
  • 00:03:30 ทดสอบการเลือกหลายรายการและอัปเดตพร้อมกัน
  • 00:04:15 อธิบายหลักการทำงานของโค้ดแบบเป็นระบบ
  • 00:05:00 สรุป: ได้ระบบที่ช่วยให้ปรับปรุงข้อมูลได้รวดเร็วและแม่นยำ
Scroll to Top