Page 1 of 1
อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Mon Sep 05, 2011 2:07 am
by zenmaki
รบกวนสอบถามอาจารย์หน่อยค่ะ
คือได้ส่งตัวอย่างไฟล์ไปให้ดู คือ ข้อมูล การเติมคลอรีน ของประปา วันที่ 1 กะกลางวัน (ไฟล์1) วันที่ 1-2 กะกลางคืน (ไฟล์ 1-2) วันที่ 2 กะกลางวัน ซึ่งข้อมูลจริงๆที่ต้องทำ เป็นข้อมูลทั้ง 365 วัน โดยต้องการให้เกิดการรวมข้อมูล โดยใช้ VBA เชื่อมโยง หากมีการแก้ไขข้อมูลในนี้ ไฟล์รวมก็จะต้องแก้ไขตาม เช่น ไฟล์ 1 ไฟล์ 1-2 ไฟล์ 2 เรื่อง chlorine ก็จะมีการเรียงต่อลงมาในงาน EXCEL เป็นข้อมูลchlorine ไฟล์ 1 แล้วเว้น 1 บรรทัด ตามด้วย ข้อมูล chlorine ไฟล์ 1-2 ทั้งหมด แล้วเว้น 1 บรรทัด ตามด้วย ไฟล์ 2 ทั้งหมด ทำอย่างนี้ต่อไปจนครบ 365 วัน รบกวนช่วนแนะนำด้วยค่ะ ขอบพระคุณมากนะค่ะ
Re: อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Mon Sep 05, 2011 8:47 am
by snasui

ช่วยระบุว่าให้ดูที่ไฟล์ไหน ชีทไหน เซลล์ไหน ทำตัวอย่างคำตอบที่ต้องการมาด้วยครับว่าคำตอบที่ถูกต้องอยู่ในรูปแบบใด มีค่าเท่าใด โดยการนำไฟล์ไหน ชีทไหน เซลล์ไหนรวมกับไฟล์ไหน ชีทไหน เซลล์ไหน เพื่อเข้าถึงข้อมูลได้อย่างรวดเร็วครับ
Re: อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Tue Sep 06, 2011 6:11 am
by zenmaki
ได้ส่งไฟล์งานที่ต้องการให้ดู คือ ไฟล์ chlorine ซึ่งเปนการรวม sheet ของ folder มกราคม ในไฟล์ 1 และ 1-2 แต่ที่ทำไป เปนการทำลิงก์ธรรมดา ซึ่งอาจารย์ที่สั่งงานมาได้ต้องการไฟล์เปน VBA ก็ไม่ทราบว่าจะทำยังไง เพราะงานอาจารย์เร่งมาก แต่พื้นฐานความรู้ยังไม่มีเลย กำลังศึกษาอยู่ เลยอยากจะขอรบกวนอาจารย์ช่วยแนะนำ ซึ่งข้อมูลที่ต้องทำทั้งหมด มี 1 ปี แล้วที่ส่งไปเปนตัวอย่างมี 2 folder เพราะว่า เดือน มกราคม - พฤษภาคม ไฟล์จะแบ่งเปน 1 , 1-2 , 2 , 2-3 ,3 ... แต่ตั้งแต่มิถุนายนเปนต้นไป ไฟล์จะแบ่งเปน 1,2,3... ขอคำแนะนำด้วยค่ะ
Re: อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Tue Sep 06, 2011 7:49 pm
by snasui

ไม่ทราบว่าได้อ่านที่ผมถามไปบ้างหรือไม่ครับ
snasui wrote: ช่วยระบุว่าให้ดูที่ไฟล์ไหน ชีทไหน เซลล์ไหน ทำตัวอย่างคำตอบที่ต้องการมาด้วยครับว่าคำตอบที่ถูกต้องอยู่ในรูปแบบใด มีค่าเท่าใด โดยการนำไฟล์ไหน ชีทไหน เซลล์ไหนรวมกับไฟล์ไหน ชีทไหน เซลล์ไหน เพื่อเข้าถึงข้อมูลได้อย่างรวดเร็วครับ
ถ้าระบุมาแล้วช่วยบอกว่าอยู่ในไฟล์ไหน เนื่องจากพบว่าที่แนบมามีหลายชีท
zenmaki wrote:ซึ่งอาจารย์ที่สั่งงานมาได้ต้องการไฟล์เปน VBA ก็ไม่ทราบว่าจะทำยังไง เพราะงานอาจารย์เร่งมาก
สำหรับ Forum เน้นการแก้ที่ติดปัญหาเป็นหลักครับ ไม่ได้รับทำงานหรือทำการบ้านหรือทำ Project ให้ท่านใด กรณีต้องการเป็น VBA ก็ควรเขียนเองได้บ้างเพื่อจะแก้ไขปรับปรุงได้เองเมื่อความต้องการเปลี่ยนไป

Re: อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Sun Sep 11, 2011 2:10 am
by zenmaki
ขอโทษนะค่ะ สำหรับการถามไม่ตรงจุดประสงค์ของ Forum ขอบคุณนะค่ะ สำหรับคำแนะนำ ตอนนี้ได้เริ่มศึกษา VBA แล้วค่ะ แต่กำลังสับสนถึงการจัดข้อมูลที่มี ฟอร์มตารางต่างกัน มาไว้ด้วยกันค่ะ ว่าสามารถทำได้หรือไม่ จึงอยากเรียนสอบถามอาจารย์อีกครั้งนะค่ะ
จากตัวอย่างที่ได้ส่งให้อาจารย์ดู ได้ทำการcopy ไฟล์ โดยทำการลิงก์ แต่ถ้าข้อมูลมีจำนวนมาก อาจารย์คิดว่า จะมีวิธีไหนทำได้เร็วบ้างค่ะ คือในไฟล์ EXที่ส่งให้ดู ได้นำข้อมูลจาก
ไฟล์ 1 sheet chlorine เซลล์ A2:N13 มาลงที่ไฟล์ EX เซลล์ B1:O12
Copy หัวตารางจาก ไฟล์ Ex B1:O3 มาต่อท้ายตารางไฟล์ EX ตรง B13:O15
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ A1 มาลงที่ ไฟล์ Ex เซลล์ B13
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ B4:B12 มาลงที่ ไฟล์ Ex เซลล์ E16:E24
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ E4:E12 มาลงที่ ไฟล์ Ex เซลล์ G16:G24
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ H4:H12 มาลงที่ ไฟล์ Ex เซลล์ J16:J24
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ J4:J12 มาลงที่ ไฟล์ Ex เซลล์ K16:K24
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ K4:K12 มาลงที่ ไฟล์ Ex เซลล์ L16:L24
นำข้อมูลจาก ไฟล์ 2-3 sheet chlorine เซลล์ N4:N12 มาลงที่ ไฟล์ Ex เซลล์ O16:O24
แล้วต้องเว้น 1 บรรทัด ก่อนใส่ข้อมูลใหม่ อาจารย์คิดว่า ทำอย่างไรงานถึงจะทำได้สะดวก ถูกต้องที่สุด พอนั่งทำ paste link ไปเรื่อยๆ รู้สึกว่าสับสนมาก
ถ้าทำเป็น VBA แบบนี้สามารถเขียนได้ไหม ในเมื่อ ฟอร์มตารางคนละแบบ แต่เมื่อรวมข้อมูล จะต้องทำเป็นฟอร์มเดียวกัน
หรือควรเป็นเป็นฟอร์มตารางแบบเดียวกัน ก่อนดึงข้อมูลแบบ VBA จะง่ายกว่า ขอบคุณมากนะค่ะ สำหรับคำแนะนำ
Re: อยากขอสอบถามการรวมข้อมูลโดยใช้ VBA ค่ะ
Posted: Sun Sep 11, 2011 8:38 am
by snasui

งานแบบนี้สามารถทำด้วย VBA ได้ครับ แต่ยุ่งยากกว่าปกติที่เป็นการ Copy และวางระหว่างไฟล์และเนื่องจากข้อมูลต้นแหล่งมีการ Merge Cells นอกจากนี้ช่วงข้อมูลที่นำมาต่อกัน
หากมีแต่ะละช่วงไม่เท่ากันก็จะเพิ่มความยุ่งยากเข้าไปอีก เพราะต้องเขียน Code ให้ทราบขอบเขตข้อมูล
หลังจากที่นำมาวางตามที่อธิบายมาแล้ว คำถามคือ
1. ในลำดับถัดไปให้นำข้อมูลจากไฟล์ 2-3 ชีท Chlorine ช่วงเซลล์ B35:N41 มาต่อในไฟล์ Ex ท้ายข้อมูลเดิมลงด้านล่างไปเรื่อย ๆ ในลักษณะเดิม (เพิ่มหัว Field) จนกว่าชุดข้อมูลใน ไฟล์ 2-3 ชีท Chlorine จะหมดใช่หรือไม่ครับ
2. จำเป็นต้อง Copy แล้ววางเป็น Link หรือไม่ ผลกระทบจากการ link กันสร้างภาระให้กับเครื่องในการคำนวณ ไฟล์จะทำงานช้ากว่าไม่มี Link และขนาดไฟล์ใหญ่กว่าไม่มี Link
3. ได้ลองเขียน Code มาแล้วหรือไม่ Code อยู่ที่ใด จะได้นำมาปรับใช้ต่อจากที่เขียนไว้แล้ว