Page 1 of 1

ต้องการ สร้างปุ่มที่จะ อัพเดต ราคาสินค้า เมื่อเราบันทึกราคาใหม่เข้าไป

Posted: Thu Jun 20, 2024 2:22 pm
by kxcel
คือผมทำไฟล์บันทึกการซื้อสินค้าในไฟล์ excel (ตามไฟล์ตัวอย่างที่แนบส่งมา)โดยมีการคีย์ข้อมูลลงไป โดยดึงข้อมูลจาก ชีท data แล้วส่งออก ไปอีกชีท
แล้วพอทำไปนานๆ ราคาสินค้ามันมีการเปลี่ยนแปลง ผมเลยจะทำปุ่มที่มัน อัพเดต ข้อมูลราคาปัจจุบัน ในช่องสีเหลือง แล้วไปแก้ลงใน ชีท data เลย
แต่ผมลองไปหาดูแล้วมีท่านนึง ทำปุ่ม อัพเดตข้อมูลพนักงาน โดย มีให้โค้ดมาด้วย แต่เนื่องจากผม ไม่ค่อยถนัดด้านสูตร vba จะแก้เองก็ทำไม่ค่อยถูก อยากให้อาจารย์ ช่วย แนะนำแนวทางเขียนโค้ดใส่ลงในปุ่ม update ให้หน่อยครับ
(ผมได้วางโค้ดการอัพเดตพนักงาน ลงในไฟล์ตัวอย่างให้แล้ว แล้วก็สงสัยอีกอย่าง คือ โค้ดที่เค้าเขียน มันจะ ค้นหา ข้อมูลที่ตรงกันแล้วแก้ไขให้ตรงกับข้อมูลใหม่ แต่มันจะวนไปเรื่อยๆจนถึงบรรทัดสุดท้ายของข้อมูล ถ้าเรามีข้อมูล สัก 10000 บรรทัด แล้วใช้โค้ดที่เค้าเขียน มันจะ อัพเดตช้าหรือไม่ครับ)

Re: ต้องการ สร้างปุ่มที่จะ อัพเดต ราคาสินค้า เมื่อเราบันทึกราคาใหม่เข้าไป

Posted: Thu Jun 20, 2024 4:15 pm
by puriwutpokin
ลองปรับตามโค้ดนี้ดูครับ

Code: Select all

Sub UpdateDataSheet()
    Dim wsInput As Worksheet
    Dim wsData As Worksheet
    Dim i As Long
    Dim j As Long
    Set wsInput = ThisWorkbook.Sheets("Input")
    Set wsData = ThisWorkbook.Sheets("Data")
    For i = 3 To 100
        For j = 2 To 10000
            If wsInput.Cells(i, 2).Value = wsData.Cells(j, 2).Value Then
                wsData.Cells(j, 2).Offset(, 3).Value = wsInput.Cells(i, 2).Offset(, 5).Value
                Exit For
            End If
        Next j
    Next i
End Sub

Re: ต้องการ สร้างปุ่มที่จะ อัพเดต ราคาสินค้า เมื่อเราบันทึกราคาใหม่เข้าไป

Posted: Fri Jun 21, 2024 6:26 pm
by kxcel
ลองใช้ดูได้แล้วครับ เดี๋ยวจะไปปรับใช้ดูครับ