Excel

เริ่มโพสต์โดย ฟิ้งซ์, 02 พ.ค. 2008, 22:52 น.

0 สมาชิก และ 1 บุคคลทั่วไป กำลังเปิดอ่านโพสต์นี้

Romzaikyu

จะขอแปะก็ไปขอที่แม่พลอยโน่น  :07: :07:

แอ้

โอ๊ว แบบนี้อยากรู้มานานแล้วค่ะว่า ทำได้ไหม (ทำยังไงยังไม่เคยคิดเลย)
ยากเกินกว่าที่จะสอนป่ะคะ ถ้าไม่ยากเกินก็ขอสมัครเป็นศิษย์ด้วยคนน้า..
:56:

☼ แอนมินิ ☼

#182
ย้ายไปถามที่ http://www.f0nt.com/forum/index.php/topic,13734.msg1369680.html#msg1369680 แทนค่ะ

☼ แอนมินิ ☼

ถามค่ะ สมมติแอนมีไฟล์ชื่อ กรุงเทพ เป็นแบบนี้


แล้วแอนก็มีไฟล์ชื่อ เชียงใหม่ เป็นแบบนี้


แล้วแอนก็ยังมีไฟล์พื้นที่อื่นๆในลักษณะคล้ายๆกันนี้อีกคือ
มี format ตารางเหมือนกันและ มีข้อมูลถึงแค่ row ที่ 4 เหมือนกัน

ทีนี้สิ่งที่ต้องการคือ อยากรวมไฟล์ย่อยๆพวกนั้นทั้งหมด (มีประมาณ 20 กว่าไฟล์)
เข้ามารวมในไฟล์เดียว แบบ


คือ เอาตั้งแต่ B2 ถึง D4 ของแต่ละไฟล์ย่อย มาต่อกันไปในไฟล์หลัก
โดยที่ในไฟล์หลักมี column บอกด้วยว่าข้อมูลนี้มาจากไฟล์ไหน

แบบนี้พอจะทำยังไงให้ run อัตโนมัติได้มั้ยคะ
ตอนนี้นั่งเปิดทีละไฟล์แล้ว copy มืออยู่ มันเยอะมากๆเลย  :56:


REROYD

โจทย์ยากนะเนี่ย ... :05:

เป็น Macro ได้หรือเปล่าอ่ะครับพี่แอน  :09: ตอนนี้แบบเดียวที่คิดออกคือใช้ Macro  :42:





ป.ล. รู้สึกว่า Excel มัน import data ได้นะ ... แต่ผมทำไม่เป็น  :05:

REROYD

ขออนุญาตเบิ้ลครับ  :46:


พอดีเขียน Macro เสร็จแล้วเอาตัวอย่างมาให้ดูครับ



http://img3.f0nt.com/flash/cf00f3da173b9b79318dc0337cb0f963.swf


ช่อง Linecount คือ Row เริ่มต้นที่จะให้โปรแกรมนำเข้าข้อมูลเข้ามานะครับ

ไฟล์ที่จะนำเข้าข้อมูล ข้อมูลจะต้องอยู่บนชีทที่ชื่อ Sheet1 เท่านั้นนะครับ ไม่งั้นจะ error (แต่สามารถแก้ไขจาก Source ได้)

ข้อมูลใน Sheet1 ที่จะนำเข้า ห้ามเว้นบรรทัด ถ้าเว้นโปรแกรมจะนำเข้าข้อมูลจนถึงส่วนที่เว้นเท่านั้น หลังจากนั้นมันจะเพิกเฉย (เกิดจากการเขียนเช็คการสิ้นสุดข้อมูลแบบห้วน ๆ ของผมเอง)





ทั้งนี้ทั้งนั้น ขอขอบคุณ

http://www.exceltip.com/st/Read_information_from_a_closed_workbook_using_VBA_in_Microsoft_Excel/473.html

http://www.mrexcel.com/td0009.html



ป.ล. เปิด Macro ก่อนใช้งานนะครับ

NooKSTYLE

ใช้ formula แบบนี้ก็ได้นะครับ ง่ายดี :12:

=[FileName]SheetName!Cell

เช่น

=[กรุงเทพ.xlsx]Sheet1!A1 หรือเอาแค่ =[กรุงเทพ]Sheet1!A1

แล้วมันจะอ้างอิงที่อยู่ไฟล์แบบนี้ให้
='C:\Documents and Settings\NooKSTLYE\My Documents\test-excel\[กรุงเทพ.xlsx]Sheet1'!A1

พอจะไล่อีกไฟล์ก็

=[กรุงเทพ]Sheet1!A1
=[กรุงเทพ]Sheet1!A2
=[กรุงเทพ]Sheet1!A3
=[เชียงใหม่]Sheet1!A1
=[เชียงใหม่]Sheet1!A2
=[เชียงใหม่]Sheet1!A3





อ้างอิงที่มา : Google --> Pantip
http://topicstock-tech.pantip.com/tech/software/topicstock/2009/05/SA2765929/SA2765929.html

REROYD

ตูว่าแล้วว่ามันต้องมีวิธีที่ง่ายกว่านี้ :3005:





ป.ล. +พี่นุ๊ก

☼ แอนมินิ ☼

 :25: :25: :25:
ขอบคุณทั้งคู่เลย บวกๆ
เดี๋ยวลองก่อน น่าจะได้ทั้ง 2 วิธี

หนุ่ม

สูตรตามที่นุ๊กบอกก็ใช้ได้นะ :12:

แต่ระวังเรื่องชื่อไฟล์และที่อยู่ของไฟล์ด้วย (file path)
ใส่สูตรแล้วห้ามขยับไฟล์ไปไหน หรือเปลี่ยนชื่อไฟล์
เพราะถ้าสูตรมันหาไฟล์ไม่เจอ มันจะแสดงข้อมูลเก่า ที่ยังไม่อัพเดต

เช่น ถ้าเกิดเปลี่ยนอายุหนุ่มในไฟล์กรุงเทพเป็น 19 แล้ว
ถ้าเกิดหาไฟล์หลักมันหาไฟล์กรุงเทพไม่เจอ หนุ่มก็จะยังอายุ 29 เหมือนเดิม :39:
Reading Learning & Sharing

Piix

แอบสงสัย

ถ้าเราแก้ไฟล์ที่อ้างอิงมา ไฟล์ใหม่นี้ก็จะอัพเดทตัวเองอัตโนมัติ ทั้งสองวิธีรึเปล่า

หรือไม่อัพเดททั้ง 2 วิธี

REROYD

ของผมไม่อัพเดทแน่นอนครับ เพราะเป็นการเปิดไฟล์ขึ้นมาดึงข้อมูลแล้วก็ปิดไปเท่านั้นครับ ไม่ได้เชื่อมโยงกับไฟล์ภายนอกแต่อย่างใด :05:

(แปลว่าดึงข้อมูลมาเสร็จแล้วก็ไม่สนแล้วว่าไฟล์ที่ดึงข้อมูลเข้ามานั้นจะอยู่ที่ไหน)

☼ แอนมินิ ☼

งานที่ว่านี้ไม่ต้อง update แหละ ดึงแล้วก็จบ  :33:
แต่...
ดันมี column ว่าง
โปรแกรมเด้งออกเลย สงสัยต้องแก้ code เอา  :3005:

หนุ่ม

วิธีที่ใช้สูตรจะอัพเดตข้อมูลให้นะ ถ้าไฟล์อ้างอิงมีการเปลี่ยนแปลงข้อมูล
โดยมันจะถามก่อนว่าจะอัพเดตข้อมูลไหม
พอกดอัพเดตปุ๊บ ข้อมูลก็จะเปลี่ยนตาม

แต่ถ้า
อ้างคำพูดจาก: หนุ่มบ๊อง เมื่อ 14 ธ.ค. 2009, 15:50 น.

แต่ระวังเรื่องชื่อไฟล์และที่อยู่ของไฟล์ด้วย (file path)
ใส่สูตรแล้วห้ามขยับไฟล์ไปไหน หรือเปลี่ยนชื่อไฟล์
เพราะถ้าสูตรมันหาไฟล์ไม่เจอ มันจะแสดงข้อมูลเก่า ที่ยังไม่อัพเดต


ข้อมูลจะเหมือนเดิมจ๊ะ :22:
Reading Learning & Sharing

Piix

โอ้ว

พี่หนุ่มเซียน(เอ็ก)เซล

SMF 2.1.7 © 2026, Simple Machines