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

หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ
หรือลองศึกษาจากไฟล์ตัวอย่างครับ
Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh
Posted: Thu Jun 05, 2014 11:59 am
by Anusornz
bank9597 wrote:
หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ
หรือลองศึกษาจากไฟล์ตัวอย่างครับ
ผมลองใส่สูตรดูตามไฟล์แนบครับ ผมทำเป็นเฉพาะ Run Macro แต่ VBA นั้นยังจำไม่ค่อยได้มักจะใส่ผิดเสมอเพราะเพิ่งศึกษาต้องขออภัยด้วยครับ ลองดูไฟล์แนบให้ด้วยนะครับว่าพอจะช่วยได้หรือไม่ตามที่บอกไปตอนตั้งกระทู้ รบกวนด้วยนะครับ ขอบคุณครับ
Re: ขอสูตร Vlookup และ VBA การกรอกข้อมูลและบันทึกผลระหว่างSh
Posted: Thu Jun 05, 2014 1:27 pm
by bank9597
Anusornz wrote:bank9597 wrote:
หากใช้ vba ต้องเขียนมาเองก่อนตามกฏครับ
หรือลองศึกษาจากไฟล์ตัวอย่างครับ
ผมลองใส่สูตรดูตามไฟล์แนบครับ ผมทำเป็นเฉพาะ Run Macro แต่ VBA นั้นยังจำไม่ค่อยได้มักจะใส่ผิดเสมอเพราะเพิ่งศึกษาต้องขออภัยด้วยครับ ลองดูไฟล์แนบให้ด้วยนะครับว่าพอจะช่วยได้หรือไม่ตามที่บอกไปตอนตั้งกระทู้ รบกวนด้วยนะครับ ขอบคุณครับ

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

ลองใช้โค๊ดนี้ดูครับ
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

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