Page 1 of 1

ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sat Dec 02, 2023 1:45 pm
by Polly
สวัสดีค่ะ

รบกวนขอความช่วยเหลือ Coding Macro ค่ะ
1.โจทย์ที่ชีท Control โดย Copy คอลัมน์ D3:D67 มา paste ที่ชีท Motor MTPL เริ่มที่คอลัมน์ B10 เป็นข้อมูลในเดือนม.ค.ค่ะ ปัญหาที่พบคือ หากเป็นเดือนม.ค.จะเกิด error ค่ะ หากมีเดือนถัดๆ ไปต่อกันมาทางขวาจะไม่พบปัญหาค่ะ รบกวนช่วยแนะนำหรือปรับแก้ให้หน่อยค่ะ
2.มีต.ย. Coding หรือคำค้นหาแนะนำไหมคะ หากต้องการให้ทุกๆ วันที่ 1 ก.พ.ของแต่ละปี ให้ลบข้อมูลที่ไม่ต้องการทิ้งออกไปค่ะ เช่น 1 ก.พ.67 ลบข้อมูลชีท A คอลัมน์ B10:B15 ก่อนเริ่มรันงานใหม่เป็นต้นค่ะ

ขอบคุณค่ะ

ที่โมดูลย์ 1 ค่ะ

Code: Select all

Sub Select_Last_Row()

'Motor MTPL
    Sheets("Control").Select
    Range("D3:D67").Copy
    Sheets("Motor MTPL").Select
    Range("A10").End(xlToRight).Offset(0, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=False


    'Motor MOD
    Sheets("Control").Select
    Range("H3:H67").Copy
    Sheets("Motor MOD").Select
    Range("A10").End(xlToRight).Offset(0, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=False


End Sub

Re: ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sat Dec 02, 2023 2:15 pm
by puriwutpokin
ลองเปลี่ยน

Code: Select all

Range("A10").End(xlToRight).Offset(0, 1).Select
เป็น

Code: Select all

Cells(10, Columns.Count).End(xlToLeft).Offset(, 1).Select

Re: ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sat Dec 02, 2023 6:04 pm
by Polly
อาจารย์คะ

หลังจากปรับโค้ดแล้ว ข้อมูลมาที่ B10 จุดเดียวเลยค่ะ หากต้องการให้ข้อมูลเดือนถัดไป วางต่อที่ C10, D10 ตามเดือนเรื่อยๆ ต้องปรับแก้อย่างไรคะ ขอบคุณค่ะ

Re: ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sat Dec 02, 2023 6:25 pm
by puriwutpokin
ลองแนบไฟล์​ล่าสุดที่ปรับโค้ดแล้วมาดูครับ

Re: ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sun Dec 03, 2023 9:35 am
by Polly
จากไฟล์แนบปรับโค้ดแล้วค่ะ ไฟล์อัพเดทจะมาวางที่ชีท Control ทุกเดือนค่ะ หลังจากนั้นจะ copy D3:D67 ไปวางที่ชีท Motor MPTL ตั้งแต่คอลัมน์ B10 พอรันใหม่ในอีกเดือน ก็จะ Copy ที่ D3:D67 แต่ไปวางถัดไปที่ C10 แบบนี้ไปเรื่อยๆ ค่ะเพื่อให้เรียงตามเดือน

Code: Select all

Range("a10").End(xlToLeft).Offset(0, 1).Select

Re: ต้องการให้วางข้อมูลตามเดือนตาม - Macro

Posted: Sun Dec 03, 2023 9:39 am
by Polly
ใช้งานได้แล้วค่ะอาจารย์ ขอบคุณมากค่ะ

Code: Select all

Sub Select_Last_Row()

'Motor MTPL
    Sheets("Control").Select
    Range("D3:D67").Copy
    Sheets("Motor MTPL").Select
    Cells(10, Columns.Count).End(xlToLeft).Offset(, 1).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=True, Transpose:=False