:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#1

Post 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
Attachments
ADO_ImpCloseFile.xlsm
(23.19 KiB) Downloaded 732 times
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#2

Post by ajsudkedt »

กำหนดการใช้งาน Macro ก่อนจึงจะใช้งานได้
ตรงไหนครับ
ใช้ excel 2010 ครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#3

Post by snasui »

:D ดูที่นี่ครับ viewtopic.php?p=12997#p12997
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#4

Post by ajsudkedt »

ที่ช่อง A1 ผมใส่
D:\endyear54info
endyear54info คือชื่อโฟนเดอร์ที่เก็บไฟล์ทั้งหมดครับ

ที่ช่อง A2 ผมใส่
Sheet1
กด Go!
มันขึ้น
Parth or sheet name not corrct!
ไม่รู้ว่ามีอะไรที่ผิดพลาดครับ

ช่วยชี้แนะต่อด้วยครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#5

Post by snasui »

ajsudkedt wrote:ที่ช่อง A1 ผมใส่
D:\endyear54info
ผิดตรงที่ระบายสีอักขระข้างบนนี้ครับ :roll: ในไฟล์ก็มีตัวอย่าง ในความเห็นผม :aru: ก็มีตัวอย่าง ลองดูทีละอักขระครับว่าผิดตรงไหน
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#6

Post by ajsudkedt »

ยังงงครับ
กรอก path ที่เป็นที่อยู่ของไฟล์ทั้งหมด
ตามที่เข้าใจคือ
ผมสร้าง Folder ชื่อ endyear54info เพื่อเก็บไฟล์ทั้งหมด
Folder นี้อยู่ใน Drive D:
ฉะนั้น part ที่เป็นที่อยู่ของไฟล์ทั้งหมดคือ
D:\endyear54info
ผมตีความได้แบบนี้ครับ
ผิดพลาดตรงไหนครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#7

Post by snasui »

:lol: :lol: :lol: ไม่ได้ก็ไม่เป็นไรครับ เพราะผมบอกชัดแล้วว่าให้ดูตัวอย่างครับ :mrgreen:
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#8

Post by ajsudkedt »

กราบขอบพระคุณมากครับ
ได้ดั่งที่ต้องการแล้วครับ
เจอแล้วที่ผิด
ก็คือต้องตั้งชื่อ Folder เป็น Test
เพื่อใช้เก็บ ไฟล์ทั้งหมด
ผมโง่กว่าที่ท่านคิดไว้เยอะครับ
ขอบคุณครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#9

Post by snasui »

:shock:
ajsudkedt wrote:ก็คือต้องตั้งชื่อ Folder เป็น Test
ไม่ถูกต้องครับ ตั้งชื่อเป็นอะไรก็ได้ทั้งนั้น แต่ให้ตามด้วยเครื่องหมาย \ (Back slash) เพราะหลังจากเครื่องหมายนี้ก็จะเป็นชื่อไฟล์แล้ว แต่โดยส่วนใหญ่คนที่เขียนโปรแกรมเขาจะเขียนเครื่องหมายนี้ไว้ให้ แต่ผมไม่ได้เขียนไว้ให้ครับ
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#10

Post by ajsudkedt »

:o :o ขอบคุณครับ
นี่แสดงว่าเป็นความบังเบิญที่ผมเผลอไปใส่ \
เพราะผม copy path มาจาก ช่องเส้นทางด้านบนนะครับ ซึ่งมันไม่มี \ ปิดท้าย
เยี่ยมยุทธมาก ๆ เลยครับท่าน
ไม่คิดเลยว่ามันจะเป็นไปได้ในการดึงข้อมูลข้ามไฟล์มารวมกันแบบนี้ :lol: :lol:
User avatar
tahc
Bronze
Bronze
Posts: 253
Joined: Wed Sep 15, 2010 10:32 am

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

#11

Post by tahc »

ไฟล์ที่จะไปดึงข้อมูลจะต้องมีโครงสร้าง หรือรูปแบบของตาราง อย่างไรครับ?
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#12

Post by snasui »

:D ปกติควรเป็น Database หรือฐานข้อมูลครับ แต่สามารถลองกับข้อมูลที่ไม่มีโครงสร้างได้ตามสะดวก ได้ผลอย่างไรช่วยแจ้งด้วยครับ
paphangkon
Member
Member
Posts: 1
Joined: Mon Dec 03, 2012 3:01 pm

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

#13

Post by paphangkon »

ขอนำไปทดลองครับ
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

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

#14

Post by godman »

ถ้าบังเอิญว่าไฟล์ที่จะดึงมามาจากหลายส่วนงาน หลากหลายโฟล์เดอร์ และหลากหลาย sheet name วฺิธีการของผมคือ สร้างไฟล์เสมียนใน Drive D แล้วลิ้งแบบใส่เครื่องหมาย = เปลี่ยนชื่อชี้ตให้ตรงกันทั้ง 5-8 ไฟล์ดังกล่าว ก่อนอื่นต้องแจ้งก่อนว่า ทำไมต้องมีหลายไฟล์เหตุผลเพราะมีหลายผลิตภัณที่เราผลิตและแต่ละผลิตภัณก็มีแต่ละแผนกรับผิดชอบ ผมเป็นส่วนกลางที่รวบรวมข้อมูล ผมมีคำถามว่าวิธีการของผมใช้ได้ไหมครับ คือมันก็จะเกิดไฟล์เสมียนอยู่ 5-8 ไฟล์เหมือนกัน และที่สำคัญคือแต่ละๆไฟล์มีข้อมูลหลัก 3-5000 แถวก็ถือว่าใหญ่ แล้วที่ท่านบอกว่าไม่จำเป็นต้องเปิดไฟล์ต้นทางทั้งหมด ข้อมูลล่าสุดจะมาเองใช่ไหมครับ หรือจำเป็นต้องกด refresh ก่อน หรือท่านมีวิธีแนะนำทางที่ดีกว่านี้ไหมครับ ที่จะทำให้รวบรวมข้อมูลได้เร็วและไฟล์ไม่ใหญ่มาก
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#15

Post by snasui »

godman wrote:วิธีการของผมใช้ได้ไหมครับ คือมันก็จะเกิดไฟล์เสมียนอยู่ 5-8 ไฟล์เหมือนกัน และที่สำคัญคือแต่ละๆไฟล์มีข้อมูลหลัก 3-5000 แถวก็ถือว่าใหญ่ แล้วที่ท่านบอกว่าไม่จำเป็นต้องเปิดไฟล์ต้นทางทั้งหมด ข้อมูลล่าสุดจะมาเองใช่ไหมครับ หรือจำเป็นต้องกด refresh ก่อน หรือท่านมีวิธีแนะนำทางที่ดีกว่านี้ไหมครับ ที่จะทำให้รวบรวมข้อมูลได้เร็วและไฟล์ไม่ใหญ่มาก
:D การใช้สูตรลักษณะนั้นทำให้ไฟล์ใหญ่ได้ครับ สำหรับวิธีที่ผมเขียนให้นี้ไม่สามารถใช้การ Refresh เพราะไม่ได้สร้าง Connection ไว้กับไฟล์ต้นแหล่ง เป็นการใช้ Statement ของ SQL เข้ามาช่วยในการดึงข้อมูลจากไฟล์ที่ปิดอยู่ สิ่งที่ได้มาคือเฉพาะ Data เท่านั้น ไฟล์จะมีขนาดเล็กลงกว่าการมีสูตรในไฟล์

กระทู้เป็นกระทู้เดิมที่ไม่สามารถดึงหลายไฟล์ หลายชีทได้ ส่วนกระทู้ที่ Update กว่านี้ดูได้ที่นี่ครับ viewtopic.php?f=9&t=3228
godman
Silver
Silver
Posts: 643
Joined: Mon Jul 05, 2010 6:18 pm

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

#16

Post by godman »

ผมมีความสงสัยว่า ถ้าผมใช้ define name แล้วข้อมูลที่ดึงมาจากแต่ละไฟล์การเรียงลำดับดาต้าจะเหมือนกันทุกครั้งใช่ไหมครับ สามารถใช้สูตรกำหนดช่วงเช่น index match หรือสูตรพวกลิตสต์รายการที่ไม่ซ้ำได้ใช่ไหมครับ ผมได้นำไป run แล้วมีข้อมูลทั้ง 6 ไฟล์ต่อเนื่องกันได้ประมาณ 84,460 row อาจจะไปถึงแสนได้ แล้วชี้ตที่เหลือผมสามารถทำอะไรก็ได้ใช่ไหมครับเช่นสร้าง dashboard สร้างกราฟพวกนี้ไม่มีผลต่อ vb ใช่ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#17

Post by snasui »

:D ผมตอบเร็ว ๆ เพราะไม่เห็นลำดับขึ้นตอน โดยสาระสำคัญคือด้านล่างครับ
  1. การ Define Name ไม่เกี่ยวกับการเรียงลำดับ Data
  2. การหาค่าที่ไม่ซ้ำจากข้อมูลจำนวนมากไม่ควรเลือกใช้สูตร
  3. การดำเนินการกับข้อมูลที่เป็นสูตรควรทำด้วยความระมัดระวังเพราะสูตรอาจจะอ้างแถวหรือคอลัมน์ผิดพลาดจากทีกำหนดได้
  4. หากมีข้อมูลเป็น Database แล้วเราสามารถที่จะทำ Dashboard หรือรายงานได้ทุกชนิดตามต้องการ
ajsudkedt
Gold
Gold
Posts: 1096
Joined: Thu Jan 28, 2010 11:08 am
Excel Ver: 2019

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

#18

Post by ajsudkedt »

หากจะเพิ่มคำสั่งให้ตรวจสอบว่า
มีไฟล์ตัวใดที่ตั้งชื่อชีตแตกต่างจากไฟล์อื่น
ให้มีข้อความปากฏขึ้นมาแจ้งให้ทราบ
จะเป็นไปได้ไหมครับ
User avatar
snasui
Site Admin
Site Admin
Posts: 30736
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#19

Post by snasui »

:D เป็นไปได้ แต่ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันในหมวด Excel ครับ ผมแนะนำว่าให้ใช้ Version ใหม่ตาม Link นี้ http://www.snasui.com/viewtopic.php?f=9&t=3228 ซึ่งได้เขียนให้สามารถรวมข้อมูลได้จากหลายไฟล์ หลายชีท
sings
Member
Member
Posts: 34
Joined: Thu May 02, 2013 3:03 pm

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

#20

Post by sings »

snasui wrote::D เป็นไปได้ แต่ต้องเขียนมาเอง ติดตรงไหนค่อยถามกันในหมวด Excel ครับ ผมแนะนำว่าให้ใช้ Version ใหม่ตาม Link นี้ http://www.snasui.com/viewtopic.php?f=9&t=3228 ซึ่งได้เขียนให้สามารถรวมข้อมูลได้จากหลายไฟล์ หลายชีท
อาจาร์ย ครับแล้วถ้ามันอยู่หลายๆ Folder มีเทคนิค เขียนสูตรอย่างไรครับ ผมจะได้ไม่ต้องก็อปปี๊ ไฟล์ มาทำเป็นอีก Folder เดียว เพื่อทำตามสูตรที่อาจาร์ย แนบให้มาน่ะครับ จได้ประหยัด พื้นที่ น่ะครับ
Post Reply