Page 1 of 2
ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 7:36 pm
by snasui
ไฟล์ตามด้านล่างมีคุณสมบัติดังนี้
- ใช้รวบรวมข้อมูลจากหลาย ๆ ไฟล์โดย
- ต้องระบุชื่อ Path เช่น D:\Test\SubTest\ ลงในเซลล์ A1 ของ Sheet1
- ต้องระบุชื่อชีทที่ต้องการดึงข้อมูลลงในเซลล์ A2 ของ Sheet1
- เมื่อต้องการดึงข้อมูลให้คลิกปุ่ม Go!
- เป็นไฟล์ที่เขียนด้วย VBA ใช้ Connection string และคำสั่ง SQL ในการดึงข้อมูลจากไฟล์ต้นแหล่งโดยไม่ต้องเปิดไฟล์
- ต้องกำหนดการใช้งาน Macro ก่อนจึงจะใช้งานได้
- ไม่เปิดเผย Code
- ไม่ได้ทดสอบกับ Version ที่ต่ำกว่า 2007
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 8:07 pm
by ajsudkedt
กำหนดการใช้งาน Macro ก่อนจึงจะใช้งานได้
ตรงไหนครับ
ใช้ excel 2010 ครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 8:09 pm
by snasui
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 8:46 pm
by ajsudkedt
ที่ช่อง A1 ผมใส่
D:\endyear54info
endyear54info คือชื่อโฟนเดอร์ที่เก็บไฟล์ทั้งหมดครับ
ที่ช่อง A2 ผมใส่
Sheet1
กด Go!
มันขึ้น
Parth or sheet name not corrct!
ไม่รู้ว่ามีอะไรที่ผิดพลาดครับ
ช่วยชี้แนะต่อด้วยครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 8:50 pm
by snasui
ajsudkedt wrote:ที่ช่อง A1 ผมใส่
D:\endyear54info
ผิดตรงที่ระบายสีอักขระข้างบนนี้ครับ
ในไฟล์ก็มีตัวอย่าง ในความเห็นผม
ก็มีตัวอย่าง
ลองดูทีละอักขระครับว่าผิดตรงไหน
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 9:11 pm
by ajsudkedt
ยังงงครับ
กรอก path ที่เป็นที่อยู่ของไฟล์ทั้งหมด
ตามที่เข้าใจคือ
ผมสร้าง Folder ชื่อ endyear54info เพื่อเก็บไฟล์ทั้งหมด
Folder นี้อยู่ใน Drive D:
ฉะนั้น part ที่เป็นที่อยู่ของไฟล์ทั้งหมดคือ
D:\endyear54info
ผมตีความได้แบบนี้ครับ
ผิดพลาดตรงไหนครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 9:12 pm
by snasui
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 9:31 pm
by ajsudkedt
กราบขอบพระคุณมากครับ
ได้ดั่งที่ต้องการแล้วครับ
เจอแล้วที่ผิด
ก็คือต้องตั้งชื่อ Folder เป็น Test
เพื่อใช้เก็บ ไฟล์ทั้งหมด
ผมโง่กว่าที่ท่านคิดไว้เยอะครับ
ขอบคุณครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 9:34 pm
by snasui
ajsudkedt wrote:ก็คือต้องตั้งชื่อ Folder เป็น Test
ไม่ถูกต้องครับ ตั้งชื่อเป็นอะไรก็ได้ทั้งนั้น แต่ให้ตามด้วยเครื่องหมาย
\ (Back slash)
เพราะหลังจากเครื่องหมายนี้ก็จะเป็นชื่อไฟล์แล้ว แต่โดยส่วนใหญ่คนที่เขียนโปรแกรมเขาจะเขียนเครื่องหมายนี้ไว้ให้ แต่ผมไม่ได้เขียนไว้ให้ครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Sun Jul 08, 2012 10:00 pm
by ajsudkedt
ขอบคุณครับ
นี่แสดงว่าเป็นความบังเบิญที่ผมเผลอไปใส่ \
เพราะผม copy path มาจาก ช่องเส้นทางด้านบนนะครับ ซึ่งมันไม่มี \ ปิดท้าย
เยี่ยมยุทธมาก ๆ เลยครับท่าน
ไม่คิดเลยว่ามันจะเป็นไปได้ในการดึงข้อมูลข้ามไฟล์มารวมกันแบบนี้
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Thu Sep 27, 2012 9:37 pm
by tahc
ไฟล์ที่จะไปดึงข้อมูลจะต้องมีโครงสร้าง หรือรูปแบบของตาราง อย่างไรครับ?
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Thu Sep 27, 2012 9:41 pm
by snasui
ปกติควรเป็น Database หรือฐานข้อมูลครับ แต่สามารถลองกับข้อมูลที่ไม่มีโครงสร้างได้ตามสะดวก ได้ผลอย่างไรช่วยแจ้งด้วยครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Mon Dec 03, 2012 3:07 pm
by paphangkon
ขอนำไปทดลองครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Dec 25, 2012 11:58 am
by godman
ถ้าบังเอิญว่าไฟล์ที่จะดึงมามาจากหลายส่วนงาน หลากหลายโฟล์เดอร์ และหลากหลาย sheet name วฺิธีการของผมคือ สร้างไฟล์เสมียนใน Drive D แล้วลิ้งแบบใส่เครื่องหมาย = เปลี่ยนชื่อชี้ตให้ตรงกันทั้ง 5-8 ไฟล์ดังกล่าว ก่อนอื่นต้องแจ้งก่อนว่า ทำไมต้องมีหลายไฟล์เหตุผลเพราะมีหลายผลิตภัณที่เราผลิตและแต่ละผลิตภัณก็มีแต่ละแผนกรับผิดชอบ ผมเป็นส่วนกลางที่รวบรวมข้อมูล ผมมีคำถามว่าวิธีการของผมใช้ได้ไหมครับ คือมันก็จะเกิดไฟล์เสมียนอยู่ 5-8 ไฟล์เหมือนกัน และที่สำคัญคือแต่ละๆไฟล์มีข้อมูลหลัก 3-5000 แถวก็ถือว่าใหญ่ แล้วที่ท่านบอกว่าไม่จำเป็นต้องเปิดไฟล์ต้นทางทั้งหมด ข้อมูลล่าสุดจะมาเองใช่ไหมครับ หรือจำเป็นต้องกด refresh ก่อน หรือท่านมีวิธีแนะนำทางที่ดีกว่านี้ไหมครับ ที่จะทำให้รวบรวมข้อมูลได้เร็วและไฟล์ไม่ใหญ่มาก
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Dec 25, 2012 1:37 pm
by snasui
godman wrote:วิธีการของผมใช้ได้ไหมครับ คือมันก็จะเกิดไฟล์เสมียนอยู่ 5-8 ไฟล์เหมือนกัน และที่สำคัญคือแต่ละๆไฟล์มีข้อมูลหลัก 3-5000 แถวก็ถือว่าใหญ่ แล้วที่ท่านบอกว่าไม่จำเป็นต้องเปิดไฟล์ต้นทางทั้งหมด ข้อมูลล่าสุดจะมาเองใช่ไหมครับ หรือจำเป็นต้องกด refresh ก่อน หรือท่านมีวิธีแนะนำทางที่ดีกว่านี้ไหมครับ ที่จะทำให้รวบรวมข้อมูลได้เร็วและไฟล์ไม่ใหญ่มาก
การใช้สูตรลักษณะนั้นทำให้ไฟล์ใหญ่ได้ครับ สำหรับวิธีที่ผมเขียนให้นี้ไม่สามารถใช้การ Refresh เพราะไม่ได้สร้าง Connection ไว้กับไฟล์ต้นแหล่ง เป็นการใช้ Statement ของ SQL เข้ามาช่วยในการดึงข้อมูลจากไฟล์ที่ปิดอยู่ สิ่งที่ได้มาคือเฉพาะ Data เท่านั้น ไฟล์จะมีขนาดเล็กลงกว่าการมีสูตรในไฟล์
กระทู้เป็นกระทู้เดิมที่ไม่สามารถดึงหลายไฟล์ หลายชีทได้ ส่วนกระทู้ที่ Update กว่านี้ดูได้ที่นี่ครับ
viewtopic.php?f=9&t=3228
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Dec 25, 2012 1:51 pm
by godman
ผมมีความสงสัยว่า ถ้าผมใช้ define name แล้วข้อมูลที่ดึงมาจากแต่ละไฟล์การเรียงลำดับดาต้าจะเหมือนกันทุกครั้งใช่ไหมครับ สามารถใช้สูตรกำหนดช่วงเช่น index match หรือสูตรพวกลิตสต์รายการที่ไม่ซ้ำได้ใช่ไหมครับ ผมได้นำไป run แล้วมีข้อมูลทั้ง 6 ไฟล์ต่อเนื่องกันได้ประมาณ 84,460 row อาจจะไปถึงแสนได้ แล้วชี้ตที่เหลือผมสามารถทำอะไรก็ได้ใช่ไหมครับเช่นสร้าง dashboard สร้างกราฟพวกนี้ไม่มีผลต่อ vb ใช่ไหมครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Dec 25, 2012 2:03 pm
by snasui
ผมตอบเร็ว ๆ เพราะไม่เห็นลำดับขึ้นตอน โดยสาระสำคัญคือด้านล่างครับ
- การ Define Name ไม่เกี่ยวกับการเรียงลำดับ Data
- การหาค่าที่ไม่ซ้ำจากข้อมูลจำนวนมากไม่ควรเลือกใช้สูตร
- การดำเนินการกับข้อมูลที่เป็นสูตรควรทำด้วยความระมัดระวังเพราะสูตรอาจจะอ้างแถวหรือคอลัมน์ผิดพลาดจากทีกำหนดได้
- หากมีข้อมูลเป็น Database แล้วเราสามารถที่จะทำ Dashboard หรือรายงานได้ทุกชนิดตามต้องการ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Jan 29, 2013 4:10 pm
by ajsudkedt
หากจะเพิ่มคำสั่งให้ตรวจสอบว่า
มีไฟล์ตัวใดที่ตั้งชื่อชีตแตกต่างจากไฟล์อื่น
ให้มีข้อความปากฏขึ้นมาแจ้งให้ทราบ
จะเป็นไปได้ไหมครับ
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Tue Jan 29, 2013 4:46 pm
by snasui
เป็นไปได้ แต่ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันในหมวด Excel ครับ ผมแนะนำว่าให้ใช้ Version ใหม่ตาม Link นี้
http://www.snasui.com/viewtopic.php?f=9&t=3228 ซึ่งได้เขียนให้สามารถรวมข้อมูลได้จากหลายไฟล์ หลายชีท
Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์
Posted: Wed Jun 05, 2013 11:30 am
by sings
อาจาร์ย ครับแล้วถ้ามันอยู่หลายๆ Folder มีเทคนิค เขียนสูตรอย่างไรครับ ผมจะได้ไม่ต้องก็อปปี๊ ไฟล์ มาทำเป็นอีก Folder เดียว เพื่อทำตามสูตรที่อาจาร์ย แนบให้มาน่ะครับ จได้ประหยัด พื้นที่ น่ะครับ