Page 1 of 1

ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSheet

Posted: Thu Jun 05, 2014 10:05 am
by Anusornz
สวัสดีครับคือผมเป็นสมาชิกใหม่ครับ(อาจจะไม่เชี่ยวชาญ Excel VBA) อยากให้ท่านอาจารย์ช่วยใส่สูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSheet ครับ ผมมีไฟล์แนบมาให้ดูครับ

ผมกำหนดให้ Sheet Data เป็นข้อมูลพนักงาน และ Sheet PM(Mid) เป็นแบบฟอร์มที่หัวหน้าจะต้องประเมินพนักงาน(โดยมีการใส่สูตรคะแนนไว้แล้วครับ)

Sheet PM(Mid) นั้นจะ Vlookup ข้อมูลส่วนตัวพนักงานใน Sheet Data มาใส่ แล้วหัวหน้าก็จะประเมินตามฟอร์ม

สิ่งที่อยากได้คือ คะแนนใน Sheet PM(Mid) AA - AJ เมื่อกดตรงบันทึกแล้ว ข้อมูลคะแนนจะบันทึกไปที่ Sheet Data U - AD โดยจะอ้างอิงและบันทึกตามรหัสพนักงานของแต่ละคน
เมื่อเราเปลี่ยนที่จะประเมินพนักงานใหม่ ก็ใส่รหัสพนักงานใน Sheet PM(Mid) เพื่อประเมินพนักงานให้ครบครับ

ถ้าอาจารย์มีข้อเสนออะไรเพิ่มเติมก็จะดีมากเลยครับ ขอขอบคุณอาจารย์ล่วงหน้าครับ

Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh

Posted: Thu Jun 05, 2014 10:42 am
by bank9597
:D หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ

หรือลองศึกษาจากไฟล์ตัวอย่างครับ

Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh

Posted: Thu Jun 05, 2014 11:59 am
by Anusornz
bank9597 wrote::D หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ

หรือลองศึกษาจากไฟล์ตัวอย่างครับ
ผมลองใส่สูตรดูตามไฟล์แนบครับ ผมทำเป็นเฉพาะ Run Macro แต่ VBA นั้นยังจำไม่ค่อยได้มักจะใส่ผิดเสมอเพราะเพิ่งศึกษาต้องขออภัยด้วยครับ ลองดูไฟล์แนบให้ด้วยนะครับว่าพอจะช่วยได้หรือไม่ตามที่บอกไปตอนตั้งกระทู้ รบกวนด้วยนะครับ ขอบคุณครับ

Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh

Posted: Thu Jun 05, 2014 1:27 pm
by bank9597
Anusornz wrote:
bank9597 wrote::D หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ

หรือลองศึกษาจากไฟล์ตัวอย่างครับ
ผมลองใส่สูตรดูตามไฟล์แนบครับ ผมทำเป็นเฉพาะ Run Macro แต่ VBA นั้นยังจำไม่ค่อยได้มักจะใส่ผิดเสมอเพราะเพิ่งศึกษาต้องขออภัยด้วยครับ ลองดูไฟล์แนบให้ด้วยนะครับว่าพอจะช่วยได้หรือไม่ตามที่บอกไปตอนตั้งกระทู้ รบกวนด้วยนะครับ ขอบคุณครับ
:D ลองใช้โค๊ดนี้ดูครับ

Code: Select all

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

Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh

Posted: Thu Jun 05, 2014 1:45 pm
by Anusornz
bank9597 wrote:
Anusornz wrote:
bank9597 wrote::D หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ

หรือลองศึกษาจากไฟล์ตัวอย่างครับ
ผมลองใส่สูตรดูตามไฟล์แนบครับ ผมทำเป็นเฉพาะ Run Macro แต่ VBA นั้นยังจำไม่ค่อยได้มักจะใส่ผิดเสมอเพราะเพิ่งศึกษาต้องขออภัยด้วยครับ ลองดูไฟล์แนบให้ด้วยนะครับว่าพอจะช่วยได้หรือไม่ตามที่บอกไปตอนตั้งกระทู้ รบกวนด้วยนะครับ ขอบคุณครับ
:D ลองใช้โค๊ดนี้ดูครับ

Code: Select all

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

:cp: ขอบคุณอาจารย์สำหรับการช่วยแก้ปัญหามากเลยนะครับ