Page 7 of 8

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Sun Nov 06, 2011 7:18 am
by snasui
:D จาก Code ที่แนบมา (ซึ่งไม่ถูกต้อง)
Set rSource = Worksheets("Form").Range("D1,B5:I5,V5:AD5,")
สังเกตว่าต้องการ Copy มาเฉพาะบรรทัดที่ 5 เท่านั้นใช่หรือไม่ครับ หากไม่ใช่ช่วยเขียนบรรยายระบุขอบเขตการ Copy ข้อมูลมาให้ชัดเจนด้วยครับ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Sun Nov 06, 2011 9:50 pm
by suka
อาจารย์คะ ลองปรับ Code เป็นแบบด้านล่างนี้ก็ Error ค่ะ

Code: Select all

Set rSource = Worksheets("Form").Range("J4,U4,B5:I100,V5:AD100")
Code กำหนดเซลล์ B5:I100,V5:AD100 ให้จำนวน 100 บรรทัดเนื่องจากชีท Template ให้ช่วงข้อมูล 1200 ข้อมูลค่ะ

เซลล์ J4,U4 ของชีท Form ต้องการให้ Copy ข้อมูล วันที่เริ่มต้นที่เซลล์ A2 และ วันที่สิ้นสุดที่เซลล์ B2 ของชีท TemplateIn

เซลล์ B5:I100 ของชีท Form ต้องการให้ Copy ข้อมูล แผนกที่เซลล์ C2 รหัสที่เซลล์ D2 ชื่อพนักงานที่เซลล์ E2 ชื่อเล่นที่เซลล์ F2 ปรับค่าแรงที่เซลล์ G2 ปรับ OTที่เซลล์ H2 ค่าแรงที่เซลล์ I2 ค่า OTที่เซลล์ J2 ของชีท TemplateIn

เซลล์ V5:AD100 ของชีท Form ต้องการให้ Copy ข้อมูล รวมวันทำงานที่เซลล์ K2 รวมทำ OT ที่เซลล์ L2 รวมงินรายวันที่เซลล์ M2 รวมเงิน OTที่เซลล์ N2 รวมยอดสุทธิที่เซลล์ O2 หักเบิกที่เซลล์ P2 ประกันที่เซลล์ Q2 เบิกเพิ่มที่เซลล์ R2 คงค้างที่เซลล์ S2 ของชีท TemplateIn

ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Sun Nov 06, 2011 10:11 pm
by snasui
suka wrote:อาจารย์คะ ลองปรับ Code เป็นแบบด้านล่างนี้ก็ Error ค่ะ

Code: Select all

Set rSource = Worksheets("Form").Range("J4,U4,B5:I100,V5:AD100")
:lol: การให้ช่วงเซลล์ที่ไม่เท่ากันเพื่อการ Copy ไปวางจะเกิด Error ครับ
เซลล์ B5:I100 ของชีท Form ต้องการให้ Copy ข้อมูล แผนกที่เซลล์ C2 รหัสที่เซลล์ D2 ชื่อพนักงานที่เซลล์ E2 ชื่อเล่นที่เซลล์ F2 ปรับค่าแรงที่เซลล์ G2 ปรับ OTที่เซลล์ H2 ค่าแรงที่เซลล์ I2 ค่า OTที่เซลล์ J2 ของชีท TemplateIn

เซลล์ V5:AD100 ของชีท Form ต้องการให้ Copy ข้อมูล รวมวันทำงานที่เซลล์ K2 รวมทำ OT ที่เซลล์ L2 รวมงินรายวันที่เซลล์ M2 รวมเงิน OTที่เซลล์ N2 รวมยอดสุทธิที่เซลล์ O2 หักเบิกที่เซลล์ P2 ประกันที่เซลล์ Q2 เบิกเพิ่มที่เซลล์ R2 คงค้างที่เซลล์ S2 ของชีท TemplateIn

ขอบคุณค่ะ
อ่านแล้วสรุปได้ว่านำบรรทัดเดียวไปวาง 96 บรรทัด คำถามคือ แล้วมันจะไม่ซ้ำกันหรือครับ :?:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Sun Nov 06, 2011 11:32 pm
by suka
อาจารย์คะ นักเรียนเริ่มงงตัวเองแล้วค่ะ ความหมายกลายเป็น
snasui wrote:อ่านแล้วสรุปได้ว่านำบรรทัดเดียวไปวาง 96 บรรทัด คำถามคือ แล้วมันจะไม่ซ้ำกันหรือครับ
แบบนี้ได้อย่างไรคะ

เริ่มใหม่ค่ะที่ชีท Form เซลล์ J4,U4,Copy ไปที่ชีท TemplateIn เซลล์ A2,B2
ที่ชีท Form เซลล์ B5,C5,D5,E5,F5,G5,H5,I5 Copy ไปที่ชีท TemplateIn เซลล์ C2,D2,E2,F2,G2,H2,I2,J2
ที่ชีท Form เซลล์ V5,W5,X5,Y5,Z5,AA5,AB5,AC5,AD5 Copy ไปที่ชีท TemplateIn เซลล์ K2,L2,M2,N2,O2,P2,Q2,R2,S2
ไม่ทราบพอช่วยให้หมายตรงกับที่ตั้งใจไหมค่ะ ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Mon Nov 07, 2011 7:50 pm
by snasui
:lol: ค่อย ๆ ถามตอบกันไปเรื่อย ๆ นะครับ
suka wrote:อาจารย์คะ นักเรียนเริ่มงงตัวเองแล้วค่ะ ความหมายกลายเป็น
snasui wrote:อ่านแล้วสรุปได้ว่านำบรรทัดเดียวไปวาง 96 บรรทัด คำถามคือ แล้วมันจะไม่ซ้ำกันหรือครับ
แบบนี้ได้อย่างไรคะ
จาก
suka wrote:
เซลล์ B5:I100 ของชีท Form ต้องการให้ Copy ข้อมูล แผนกที่เซลล์ C2 รหัสที่เซลล์ D2 ชื่อพนักงานที่เซลล์ E2 ชื่อเล่นที่เซลล์ F2 ปรับค่าแรงที่เซลล์ G2 ปรับ OTที่เซลล์ H2 ค่าแรงที่เซลล์ I2 ค่า OTที่เซลล์ J2 ของชีท TemplateIn

เซลล์ V5:AD100 ของชีท Form ต้องการให้ Copy ข้อมูล รวมวันทำงานที่เซลล์ K2 รวมทำ OT ที่เซลล์ L2 รวมงินรายวันที่เซลล์ M2 รวมเงิน OTที่เซลล์ N2 รวมยอดสุทธิที่เซลล์ O2 หักเบิกที่เซลล์ P2 ประกันที่เซลล์ Q2 เบิกเพิ่มที่เซลล์ R2 คงค้างที่เซลล์ S2 ของชีท TemplateIn

ขอบคุณค่ะ
สังเกตได้ว่า B5:I100 และ V5:AD100 คือช่วงเซลล์ ส่วนที่เหลือคือเซลล์เดี่ยว และ B5:I100 มีจำนวนทั้งหมด 96 บรรทัด ผมจึงสรุปว่าต้องการนำบรรทัดเดียวไปวาง 96 บรรทัด
เริ่มใหม่ค่ะที่ชีท Form เซลล์ J4,U4,Copy ไปที่ชีท TemplateIn เซลล์ A2,B2
ที่ชีท Form เซลล์ B5,C5,D5,E5,F5,G5,H5,I5 Copy ไปที่ชีท TemplateIn เซลล์ C2,D2,E2,F2,G2,H2,I2,J2
ที่ชีท Form เซลล์ V5,W5,X5,Y5,Z5,AA5,AB5,AC5,AD5 Copy ไปที่ชีท TemplateIn เซลล์ K2,L2,M2,N2,O2,P2,Q2,R2,S2
ไม่ทราบพอช่วยให้หมายตรงกับที่ตั้งใจไหมค่ะ ขอบคุณค่ะ
ความหมายที่ตั้งใจไม่ใช่ของผมครับ เป็นของคุณ suka เอง ซึ่งจากด้านบนไม่ทราบว่าตั้งใจจะ Copy เพียง 1 บรรทัดเท่านั้น ใช่หรือไม่ครับ :?:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Mon Nov 07, 2011 8:36 pm
by suka
อาจารย์คะ ลองใหม่ค่ะ
ที่ชีท Form เซลล์ J4,U4 Copy ไปที่ชีท TemplateIn เซลล์ C2;J102
ที่ชีท Form เซลล์ B5:I105 Copy ไปที่ชีท TemplateIn เซลล์ C2;J102
ที่ชีท Form เซลล์ V5:AD5 Copy ไปที่ชีท TemplateIn เซลล์ K2:S102 ที่ชีท Template ให้ช่วงข้อมูล 1200 ข้อมูล ที่ชีท Form ควรต้องทำ 100 บรรทัด ใช่ไหมคะ
ต้องการ Copy ทุกบรรทัดที่ชีท Form บันทึกค่ะ แบบนี้ใช่ความหมายที่ถูกต้องไหมค่ะ หากไม่ใช่คงต้องกราบขออาจารย์ช่วยแนะนำค่ะ ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Mon Nov 07, 2011 8:45 pm
by snasui
:D ลองทำตัวอย่างมาดูครับ

ชี้ให้เห็นว่าข้อมูลไหน Copy ไปไหน โยงลูกศร ใส่สี ตีเส้นประกอบคำอธิบายได้เต็มที่ครับ และอย่าลืมว่าเรากำลังพูดถึงนำรายการไปวางแบบไม่ซ้ำกัน

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 7:10 pm
by suka
อาจารย์คะ ส่งภาพโยงลูกศรแบบนี้ค่ะ ลองส่งภาพมาก่อนค่ะหากใช่ได้ต้องส่งไฟล์แนบจะได้ส่งตามมาค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 7:24 pm
by snasui
:lol: ยังไม่เคลียร์ครับ ทำไมลูกศรสี่น้ำเงินสี่เส้นแรกไปอยู่บรรทัดที่ 6 ครับในขณะที่เส้นอื่น ๆ อยู่บรรทัดที่ 5 (ไม่นับวันที่)

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 7:52 pm
by suka
ขออภัยค่ะอาจารย์ ลูกศรสี่น้ำเงินสี่เส้นแรกต้องอยู่บรรทัดที่ 5 ลืมขยับลูกศรมาที่บรรทัดที่ 5 ค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 7:56 pm
by snasui
:D ถ้าเช่นนั้นลองส่งไฟล์พร้อม Code ล่าสุดมาด้วย จะได้ปรับปรุงต่อจากนั้นครับ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 8:09 pm
by suka
อาจารย์คะ ส่งไฟล์ตัวอย่างล่าสุดค่ะ

ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Tue Nov 08, 2011 9:05 pm
by snasui
:shock: Code ที่ปรับมาแล้วอยู่ใน Module ไหน ชื่อว่าอะไรครับ :?:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 11:44 am
by suka
อาจารย์คะ ไฟล์ที่ส่งมาก่อนหน้านี้ไม่ได้แนบ Code Error มาค่ะ
ส่งไฟล์มาใหม่พร้อม Code Error ค่ะ อยู่ใน Module1 ชื่อ PasteData ค่ะ
ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 2:26 pm
by snasui
:D อ้างอิงจากภาพที่โยงข้อมูลมา ผมปรับตัวอย่าง Code มาให้ตามด้านล่างครับ

Code: Select all

Sub PasteData()
    Dim rSource As Range, rSource1 As Range
    Dim rTarget As Range
    With Worksheets("Template")
        Set rSource = .Range("A5:T5").Resize(.Range("W1"))
    End With
    Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Set rSource = Worksheets("Form").Range("J4,T4")
    Set rSource1 = Worksheets("Form").Range("B5:G5,V5:W5,Z5:AC5")
    Set rTarget = Worksheets("TemplateIn").Range("A2")
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    rSource1.Copy
    rTarget.Offset(0, 2).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Sheets("Form").Range("F5:G100,J5:U100,AA5:AA100,AB5:AC100").ClearContents
End Sub

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 6:25 pm
by suka
อาจารย์คะ ทดลอง Code แล้วค่ะ ที่ชีท TemplateIn Copy ได้แค่หนี่งบรรทัดจากชีท Form ที่บันทึกหลายบรรทัด ความต้องการให้ Copy ทุกบรรทัดที่ชีท Form บันทึก ขอรบกวนอาจารย์เรื่อง Code อีกรอบค่ะ

ได้ส่งไฟล์ตัวอย่าง Code อยู่ใน Module1 ชื่อ PasteData ค่ะ ขอบคุณค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 6:34 pm
by snasui
:shock: ผมเขียน Code ให้ตามภาพที่อธิบายมาครับ นั่นคือ Copy เพียงบรรทัดเดียวเท่านั้น

ช่วยสรุปให้ชัดเจนว่าต้องการ Copy อย่างไรกันแน่ครับ ซึ่งผมพยายามถามไปแล้วหลายครั้ง :|

การแนบไฟล์มาใหม่ให้แนบไฟล์ที่ได้ปรับปรุง Code มาเองแล้วทุกครั้ง ผมจะปรับเพิ่มจากนั้น หากยังไม่ปรับมาก็ต้องปรับมาก่อนครับ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 7:07 pm
by suka
อาจารย์คะ ไม่ได้แนบ Code ที่ลองปรับมาเนื่องจากใช้ไม่ได้ค่ะ

Code: Select all

Sub PasteData()
    Dim rSource As Range, rSource1 As Range
    Dim rTarget As Range
    With Worksheets("Template")
        Set rSource = .Range("A2:T2").Resize(.Range("W1"))
    End With
    Set rTarget = Worksheets("Database").Range("A65536").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Set rSource = Worksheets("Form").Range("J4,T4")
    Set rSource1 = Worksheets("Form").Range("B5:G5,V5:W5,Z5:AC5")
    Set rTarget = Worksheets("TemplateIn").Range("A2").End(xlUp).Offset(1, 0)
    rSource.Copy
    rTarget.PasteSpecial xlPasteValues
    rSource1.Copy
    rTarget.Offset(0, 2).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    Sheets("Form").Range("F5:G100,J5:U100,AA5:AA100,AB5:AC100").ClearContents
End Sub
ก่อนหน้านี้ได้ลองปรับ

Code: Select all

Set rTarget = Worksheets("TemplateIn").Range("A65536").End(xlUp).Offset(1, 0)
แบบนี้ก็ไม่ได้ค่ะ

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 7:27 pm
by snasui
:? Code ที่แนบมานี้ต้องการจะสั่งให้ทำงานอย่างไรครับ :?:

Re: ขอความช่วยเหลือบันทึกการทำงานของพนักงานรายวันเป็นฐานข้อม

Posted: Wed Nov 09, 2011 8:21 pm
by suka
ขออภัยค่ะอาจารย์ ที่ไม่สามารถสือความหมายให้อาจารย์ทราบถึงความต้องการ
Code ที่แนบต้องการให้ Copy ข้อมูลทุกบรรทัดที่ชีท Form บันทึกมาไว้ที่ชีท TemplateIn ทุกข้อมูลที่มีหัวคอลัมน์ในชีท TemplateIn ค่ะ
ต้องการปรับ Code จากที่ Copy มาแค่หนึ่งบรรทัดให้เป็นตามจำนวนบรรทัดที่ชีท Form บันทึกค่ะ ขอบคุณค่ะ