ขอสูตร VBA ดึงข้อมูลจากไฟล์หนึ่งไปอีกไฟล์ แบบมีเงื่อนไข
Posted: Sat Nov 16, 2019 3:53 pm
สวัสดีครับอาจารย์
ผมขอคำชี้แนะสูตร VBA ดึงข้อมูลบางส่วนแบบมีเงื่อนไขหน่อยครับ
สิ่งที่ต้องการ
- ดึงหรือ Copy ข้อมูลจากไฟล์ ME1586 & ME17814 มาไฟล์ Format Graph NG
- ข้อมูลที่ต้องการจากไฟล์ ME1586 & ME17814 คือในส่วน Column C สีส้ม, Column G สีฟ้า
และ ข้อมูลในแถว TOTAL OUTPUT QTY สีเหลือง
ปัญหาคือ
- ในไฟล์ต้นทางในแต่ละ Sheet ข้อมูลใน Column C และ Column G มีไม่เท่ากันเพราะเป็นไฟล์รับมาอีกที
ต้องการว่าถ้า Column G มีข้อมูลถึงบรรทัดไหน ให้ Copy ข้อมูล Column C มาด้วยเท่านั้น
(ดังตัวอย่างข้อมูลที่ต้องการในไฟล์ Format Graph NG ที่แนบมาครับ)
- และข้อมูลในแถว TOTAL OUTPUT QTY สีเหลือง บาง Sheet อยู่คนละแถวกันผมไม่ทราบต้องกำหนดสูตรเงื่อนไขอย่างไรครับ
ที่ผมเขียนได้ ก็ประมาณนี้น่ะครับ แต่ปัญหาจากไฟล์ที่รับมา ตามที่แจ้ง จึงใคร่ขอคำแนะนำด้วยครับ
#ขอบคุณอาจารย์มากๆครับ
ผมขอคำชี้แนะสูตร VBA ดึงข้อมูลบางส่วนแบบมีเงื่อนไขหน่อยครับ
สิ่งที่ต้องการ
- ดึงหรือ Copy ข้อมูลจากไฟล์ ME1586 & ME17814 มาไฟล์ Format Graph NG
- ข้อมูลที่ต้องการจากไฟล์ ME1586 & ME17814 คือในส่วน Column C สีส้ม, Column G สีฟ้า
และ ข้อมูลในแถว TOTAL OUTPUT QTY สีเหลือง
ปัญหาคือ
- ในไฟล์ต้นทางในแต่ละ Sheet ข้อมูลใน Column C และ Column G มีไม่เท่ากันเพราะเป็นไฟล์รับมาอีกที
ต้องการว่าถ้า Column G มีข้อมูลถึงบรรทัดไหน ให้ Copy ข้อมูล Column C มาด้วยเท่านั้น
(ดังตัวอย่างข้อมูลที่ต้องการในไฟล์ Format Graph NG ที่แนบมาครับ)
- และข้อมูลในแถว TOTAL OUTPUT QTY สีเหลือง บาง Sheet อยู่คนละแถวกันผมไม่ทราบต้องกำหนดสูตรเงื่อนไขอย่างไรครับ
ที่ผมเขียนได้ ก็ประมาณนี้น่ะครับ แต่ปัญหาจากไฟล์ที่รับมา ตามที่แจ้ง จึงใคร่ขอคำแนะนำด้วยครับ
#ขอบคุณอาจารย์มากๆครับ
Code: Select all
Sub Test01()
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME17814-1").Select
Range("C4:C27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME17814-1").Select
Range("B15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME17814-1").Select
Range("G4:G27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME17814-1").Select
Range("C15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME17814-2").Select
Range("C4:C27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME17814-2").Select
Range("B15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME17814-2").Select
Range("G4:G27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME17814-2").Select
Range("C15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME1586").Select
Range("C4:C27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME1586").Select
Range("B15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
Workbooks("ME1586 & ME17814.xls").Activate
Sheets("ME1586").Select
Range("G4:G27").Copy
Workbooks("Format Graph NG.xlsx").Activate
Sheets("ME1586").Select
Range("C15").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End Sub