snasui.com ยินดีต้อนรับ ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ผมกำหนดให้ Sheet Data เป็นข้อมูลพนักงาน และ Sheet PM(Mid) เป็นแบบฟอร์มที่หัวหน้าจะต้องประเมินพนักงาน(โดยมีการใส่สูตรคะแนนไว้แล้วครับ)
Sheet PM(Mid) นั้นจะ Vlookup ข้อมูลส่วนตัวพนักงานใน Sheet Data มาใส่ แล้วหัวหน้าก็จะประเมินตามฟอร์ม
สิ่งที่อยากได้คือ คะแนนใน Sheet PM(Mid) AA - AJ เมื่อกดตรงบันทึกแล้ว ข้อมูลคะแนนจะบันทึกไปที่ Sheet Data U - AD โดยจะอ้างอิงและบันทึกตามรหัสพนักงานของแต่ละคน
เมื่อเราเปลี่ยนที่จะประเมินพนักงานใหม่ ก็ใส่รหัสพนักงานใน Sheet PM(Mid) เพื่อประเมินพนักงานให้ครบครับ
Sub record()
Dim wsFrm As Worksheet
Dim wsData As Worksheet
Dim rTarget As Integer
Set wsFrm = Worksheets("PM(Mid)")
Set wsData = Worksheets("Data")
With Application
rTarget = .Match(wsFrm.Range("T4"), wsData.Range("B2:B2000"), 0) + 1
End With
wsFrm.Range("AA4:AJ4").Copy
wsData.Range("U" & rTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Set wsFrm = Nothing
Set wsData = Nothing
End Sub
Sub record()
Dim wsFrm As Worksheet
Dim wsData As Worksheet
Dim rTarget As Integer
Set wsFrm = Worksheets("PM(Mid)")
Set wsData = Worksheets("Data")
With Application
rTarget = .Match(wsFrm.Range("T4"), wsData.Range("B2:B2000"), 0) + 1
End With
wsFrm.Range("AA4:AJ4").Copy
wsData.Range("U" & rTarget).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Set wsFrm = Nothing
Set wsData = Nothing
End Sub