Page 1 of 2

ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์

Posted: Sun Jul 08, 2012 7:36 pm
by snasui
:D ไฟล์ตามด้านล่างมีคุณสมบัติดังนี้
  1. ใช้รวบรวมข้อมูลจากหลาย ๆ ไฟล์โดย
    1. ต้องระบุชื่อ Path เช่น D:\Test\SubTest\ ลงในเซลล์ A1 ของ Sheet1
    2. ต้องระบุชื่อชีทที่ต้องการดึงข้อมูลลงในเซลล์ A2 ของ Sheet1
    3. เมื่อต้องการดึงข้อมูลให้คลิกปุ่ม Go!
  2. เป็นไฟล์ที่เขียนด้วย VBA ใช้ Connection string และคำสั่ง SQL ในการดึงข้อมูลจากไฟล์ต้นแหล่งโดยไม่ต้องเปิดไฟล์
  3. ต้องกำหนดการใช้งาน Macro ก่อนจึงจะใช้งานได้
  4. ไม่เปิดเผย Code
  5. ไม่ได้ทดสอบกับ 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
:D ดูที่นี่ครับ viewtopic.php?p=12997#p12997

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
ผิดตรงที่ระบายสีอักขระข้างบนนี้ครับ :roll: ในไฟล์ก็มีตัวอย่าง ในความเห็นผม :aru: ก็มีตัวอย่าง ลองดูทีละอักขระครับว่าผิดตรงไหน

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
:lol: :lol: :lol: ไม่ได้ก็ไม่เป็นไรครับ เพราะผมบอกชัดแล้วว่าให้ดูตัวอย่างครับ :mrgreen:

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
:shock:
ajsudkedt wrote:ก็คือต้องตั้งชื่อ Folder เป็น Test
ไม่ถูกต้องครับ ตั้งชื่อเป็นอะไรก็ได้ทั้งนั้น แต่ให้ตามด้วยเครื่องหมาย \ (Back slash) เพราะหลังจากเครื่องหมายนี้ก็จะเป็นชื่อไฟล์แล้ว แต่โดยส่วนใหญ่คนที่เขียนโปรแกรมเขาจะเขียนเครื่องหมายนี้ไว้ให้ แต่ผมไม่ได้เขียนไว้ให้ครับ

Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์

Posted: Sun Jul 08, 2012 10:00 pm
by ajsudkedt
:o :o ขอบคุณครับ
นี่แสดงว่าเป็นความบังเบิญที่ผมเผลอไปใส่ \
เพราะผม copy path มาจาก ช่องเส้นทางด้านบนนะครับ ซึ่งมันไม่มี \ ปิดท้าย
เยี่ยมยุทธมาก ๆ เลยครับท่าน
ไม่คิดเลยว่ามันจะเป็นไปได้ในการดึงข้อมูลข้ามไฟล์มารวมกันแบบนี้ :lol: :lol:

Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์

Posted: Thu Sep 27, 2012 9:37 pm
by tahc
ไฟล์ที่จะไปดึงข้อมูลจะต้องมีโครงสร้าง หรือรูปแบบของตาราง อย่างไรครับ?

Re: ไฟล์สำหรับการ Import ข้อมูลจากหลาย ๆ ไฟล์

Posted: Thu Sep 27, 2012 9:41 pm
by snasui
:D ปกติควรเป็น 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 ก่อน หรือท่านมีวิธีแนะนำทางที่ดีกว่านี้ไหมครับ ที่จะทำให้รวบรวมข้อมูลได้เร็วและไฟล์ไม่ใหญ่มาก
:D การใช้สูตรลักษณะนั้นทำให้ไฟล์ใหญ่ได้ครับ สำหรับวิธีที่ผมเขียนให้นี้ไม่สามารถใช้การ 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
:D ผมตอบเร็ว ๆ เพราะไม่เห็นลำดับขึ้นตอน โดยสาระสำคัญคือด้านล่างครับ
  1. การ Define Name ไม่เกี่ยวกับการเรียงลำดับ Data
  2. การหาค่าที่ไม่ซ้ำจากข้อมูลจำนวนมากไม่ควรเลือกใช้สูตร
  3. การดำเนินการกับข้อมูลที่เป็นสูตรควรทำด้วยความระมัดระวังเพราะสูตรอาจจะอ้างแถวหรือคอลัมน์ผิดพลาดจากทีกำหนดได้
  4. หากมีข้อมูลเป็น 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
:D เป็นไปได้ แต่ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันในหมวด 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
snasui wrote::D เป็นไปได้ แต่ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันในหมวด Excel ครับ ผมแนะนำว่าให้ใช้ Version ใหม่ตาม Link นี้ http://www.snasui.com/viewtopic.php?f=9&t=3228 ซึ่งได้เขียนให้สามารถรวมข้อมูลได้จากหลายไฟล์ หลายชีท
อาจาร์ย ครับแล้วถ้ามันอยู่หลายๆ Folder มีเทคนิค เขียนสูตรอย่างไรครับ ผมจะได้ไม่ต้องก็อปปี๊ ไฟล์ มาทำเป็นอีก Folder เดียว เพื่อทำตามสูตรที่อาจาร์ย แนบให้มาน่ะครับ จได้ประหยัด พื้นที่ น่ะครับ