snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมสำหรับแจกจ่ายแบ่งปันไฟล์ รวมทั้งแหล่งความรู้ต่าง ๆ เกี่ยวกับ Excel
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#1
Post
by snasui » Sun Sep 16, 2012 10:27 am
ไฟล์นี้เป็น Version ที่ 2 สำหรับ Version ที่ 1 สามารถดาวน์โหลได้ที่นี่
(
คลิก )
ไฟล์ตามด้านล่างมีคุณสมบัติดังนี้
ใช้รวบรวมข้อมูลจากหลาย ๆ ไฟล์โดยดึงข้อมูลจากทุกชีทของแต่ละไฟล์
ต้องระบุชื่อ Path เช่น D:\Test\SubTest ลงในเซลล์ A1 ของ Sheet1
เมื่อต้องการดึงข้อมูลให้คลิกปุ่ม Go!
เป็นไฟล์ที่เขียนด้วย VBA ใช้ Connection string และคำสั่ง SQL ในการดึงข้อมูลจากไฟล์ต้นแหล่งโดยไม่ต้องเปิดไฟล์
ต้องกำหนดการใช้งาน Macro ก่อนจึงจะใช้งานได้
ไม่เปิดเผย Code
ไม่ได้ทดสอบกับ Version ที่ต่ำกว่า 2007
ส่งที่ปรับปรุงจาก Version 1
ไม่ต้องคีย์ \ ตามหลัง Path
ไม่ต้องระบุชื่อชีทที่ต้องการดึงข้อมูล เนื่องจากเป็นการดึงมาทุกชีท
Attachments
ADO_ImpCloseFile_V2.xlsm
Import ข้อมูลที่มีหัวคอลัมน์ (55.96 KiB) Downloaded 997 times
ADO_ImpCloseFile_NoHeader.xlsm
Import ข้อมูลที่ไม่มีหัวคอลัมน์ (23.52 KiB) Downloaded 473 times
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#2
Post
by godman » Mon Sep 17, 2012 8:55 am
ทำไมผมใช้ paht แบบนี้จึง error ครับ D:\Test\Sub Test.xls
ต้องใช้อย่างไรจึงจะถูกครับ และ สอง คือ ดึงข้อมูลได้ทีละๆไฟล์ใช่ไหมครับ
อย่างไรก็ตาม ต้องขอขอบพระคุณ ในความใจดีและเสียสละที่อาจารย์มีให้ ผมไม่ได้ค่อยได้เข้ามาถามแล้ว เพราะความรู้ที่อาจารย์เคยให้มา ผมเอาไปต่อยอดและประยุกต์ใช้กับงานได้มากมาย เจ๋ง จริงอะไรจริง ขอบคุณมากครับจากใจ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#3
Post
by snasui » Mon Sep 17, 2012 9:54 am
godman wrote: D:\Test\Sub Test.xls
ไม่ต้องกำหนดชื่อไฟล์ครับ กำหนด Path อย่างเดียวเท่านั้น ส่วนในนั้นจะมีกี่ไฟล์ แต่ละไฟล์มีกี่ชีทก็สามารถรวมข้อมูลมาได้หมดครับ
godman
Silver
Posts: 643 Joined: Mon Jul 05, 2010 6:18 pm
#4
Post
by godman » Mon Sep 17, 2012 10:14 am
โทษนะครับ เพื่อความกระจ่าง paht นี่หมายถึง ชื่อ folder ใช่ไหมครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#5
Post
by snasui » Mon Sep 17, 2012 10:17 am
Path คือเส้นทางครับ ยกตัวอย่างเช่นถ้าอยู่ในเครื่องเราเองก็ต้องระบุว่า Drive ใด\Folder ใด\Sub Folder ใด ตัวอย่างผมเขียนไว้ที่ A1 ของไฟล์อยู่แล้วครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#6
Post
by suka » Mon Sep 17, 2012 2:07 pm
5.ไม่ได้ทดสอบกับ Version ที่ต่ำกว่า 2007
อาจารย์คะ ใช้ Version 2003 ค่ะ แล้วลองเลือกที่เซลล์ A6 ดังรูปที่ 1 ด้านบนค่ะ
กดที่ปุ่ม Go! จะเป็นดังรูปที่ 2 รูปด้านล่างค่ะ
อาจารย์คะ ขอรบกวนแนะวิธีใช้ให้หน่อยนะคะ
ขอบคุณค่ะ
Attachments
D.jpg (65.02 KiB) Viewed 8497 times
เลือก d แล้วกด Go.jpg (93.21 KiB) Viewed 8497 times
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#7
Post
by snasui » Mon Sep 17, 2012 2:26 pm
สำหรับ Version 2003 ลองดูไฟล์ด้านล่างครับ
Attachments
ADO_ImpCloseFile_V2.xls
(43.5 KiB) Downloaded 342 times
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#8
Post
by suka » Mon Sep 17, 2012 2:54 pm
อาจารย์คะ ขอรบกวนอีกรอบค่ะ
คงจะใช้ไม่ถูกวิธีหรือเปล่าคะ ไฟล์ ADO_ImpCloseFile_V2 ไว้ที่ Path C ค่ัะ
และที่ Sheet1 A3 เปลี่ยน A เป็น C แล้วคลิ๊กที่เซลล์ A3 แล้วที่ปุ่ม Go! เป็นดังรูปที่แนบมาค่ะ
ขอบคุณค่ะ
Attachments
V2.JPG (91.48 KiB) Viewed 8496 times
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#9
Post
by snasui » Mon Sep 17, 2012 3:06 pm
suka wrote: และที่ Sheet1 A3 เปลี่ยน A เป็น C แล้วคลิ๊กที่เซลล์ A3 แล้วที่ปุ่ม Go!
เหตุใดไปเปลี่ยน A เป็น C ที่ A3 ครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#10
Post
by suka » Mon Sep 17, 2012 3:11 pm
อาจารย์คะ ไม่เปลี่ยนคลิ๊กที่ A3 กดที่ปุ่ม Go! ก็ Error เป็นเหมือนดังรูปด้านบนค่ะ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#11
Post
by snasui » Mon Sep 17, 2012 3:16 pm
ผมถามเพื่ออยากทราบว่าต้องการจะทำอะไรเท่านั้นครับ ในไฟล์ผมก็มีตัวอย่างอยู่แล้วว่าให้คีย์ Path ไว้ตรงไหน เซลล์ที่กรอกมีเซลล์เดียวคือ A1 อ่านความเห็นด้านบน ๆ ด้วยครับ
สำหรับไฟล์นี้
ไม่ได้เขียนเพื่อ Excel 2003 เนื่องจากใช้ Connection String ที่เป็นของ Excel รุ่น 2007 แต่ เผื่อว่าในเครื่องของ User ใช้ Compatibility Pack ซึ่งสามารถใช้ Excel 2003 เปิดไฟล์รุ่นที่สูงกว่าได้ก็น่าจะใช้การได้ จึงได้ปรับไฟล์มาให้ทดลอง และหากว่ามีการคีย์ A1 ถูกต้องแล้วยังใช้ไม่ได้ ก็แสดงว่าใช้กับ Excel 2003 ไม่ได้ครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#12
Post
by suka » Mon Sep 17, 2012 3:59 pm
ขอรบกวนอาจารย์อีกรอบค่ะ
ที่ Sheet1 A1 ระบุชื่อ D:\My P S Project.xls\บันทึกรับจ่ายลูกหนี้รายเดือน แล้วกดปุ่ม Go! เป็นดังรูปที่แนบมาค่ะ
จะต้องแก้อย่างไรคะ ขอบคุณค่ะ
Attachments
V2Error.jpg (94.03 KiB) Viewed 8490 times
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#13
Post
by snasui » Mon Sep 17, 2012 4:06 pm
คิดว่าเป็นตามด้านล่างครับ
snasui wrote: หากว่ามีการคีย์ A1 ถูกต้องแล้วยังใช้ไม่ได้ ก็แสดงว่าใช้กับ Excel 2003 ไม่ได้ครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#14
Post
by suka » Mon Sep 17, 2012 4:24 pm
ขอบคุณค่ะอาจารย์ (แอบเศร้าเล็กน้อยค่ะ)
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#15
Post
by snasui » Mon Sep 17, 2012 9:06 pm
ผมทดสอบด้วย Excel 2003 เรียบร้อยแล้วครับ พบว่าไม่ติดปัญหาใด
ลองตรวจสอบตามนี้ครับ
เปิดไฟล์ Excel ว่าง ๆ ขึ้นมา 1 ไฟล์ กดแป้น Alt+F11 เพื่อเข้าไปยัง VBE เข้าเมนู Tools > Reference > ตรวจสอบค่าในกรอบสี่เหลี่ยมตามภาพด้านล่างว่ามี หรือไม่หรือขาดรายการใด ให้ตรวจสอบว่ามีหรือไม่มี โดยไม่คำนึงว่ามีเครื่องหมายถูกอยู่ข้างหน้าหรือไม่ รายการอาจจะอยู่ด้านล่าง ๆ โดยไม่ได้จัดเรียง หากขาดรายการใดช่วยแจ้งมาด้วยครับ
Attachments
Reference2003.png (24.73 KiB) Viewed 8483 times
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#16
Post
by suka » Tue Sep 18, 2012 11:59 am
อาจารย์คะ
ตรวจสอบมีครบทั้งสามรายการในกรอบสีแดงค่ะ เพียงแต่ไม่มีเครื่องหมายถูกอยู่ข้างหน้าเท่านั้นค่ะ
ขอบคุณอาจารย์มากๆเลยค่ะ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#17
Post
by snasui » Tue Sep 18, 2012 12:03 pm
หากเป็นเช่นนั้นก็ควรจะทำงานได้ครับ ลองเปลี่ยนเป็น Path ง่าย ๆ เช่นตัวอย่างในไฟล์แล้วทดสอบดูใหม่ครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#18
Post
by suka » Tue Sep 18, 2012 12:37 pm
อาจารย์คะ เปลี่ยน Path เป็น D:\PS แล้วลองดูไม่ได้ยัง Error ค่ะ
ขอบคุณค่ะ
Attachments
PS.jpg (104.75 KiB) Viewed 8477 times
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#19
Post
by snasui » Tue Sep 18, 2012 12:50 pm
ใน Folder นั้นมีไฟล์อื่น ๆ ที่ไม่ใช่ Excel อยู่หรือไม่ครับ หากมีให้ลบออกไปให้เหลือเฉพาะไฟล์ Excel ครับ
suka
Silver
Posts: 918 Joined: Tue Nov 16, 2010 7:38 pm
Excel Ver: 2007,2021
#20
Post
by suka » Tue Sep 18, 2012 12:52 pm
ใน Folder มีแค่ไฟล์เดียวค่ะอาจารย์