Page 1 of 1
รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Sun Apr 18, 2010 4:22 pm
by tigerwit
สวัสดีครับ
มีปัญหามีรบกวนเรียนถามอีกแล้วครับ
ในไฟล์ Excel ของผม มีข้อมูล 6 Sheet
ที่ต้องการคือ รวมข้อมูลทั้ง 6 Sheet ไปอยู่ sheet ใหม่
จากไฟลแนบ มี Sheet S1 S2 S3 S4 S5 และ S6
ผมต้องการ นำข้อมูล จาก Sheet ดังกล่าว ไปรวมกันที่ Sheet AllData
เงื่อนไข..
1. หาก Sheet ใด Sheet หนึ่ง มีการเพิ่ม ลด แถว Sheet AllData ก็เพิ่มหรือลดไปด้วย (ไม่มีแถวว่าง)
2. แถวที่เพิ่มใน Sheet เดิม เมื่อแสดงใน Sheet AllData ให้ต่อท้ายข้อมูล(เรียง) ตามลำดับ (โรงเรียน)
ผมลองทำโดยใช้ การอ้างอิงระหว่าง Cell ไม่ได้ตามที่ต้องการ (Sheet Data)
รบกวนด้วยครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Sun Apr 18, 2010 5:09 pm
by snasui
ลองดูตามไฟล์แนบครับ
หลักการทำเหมือนกับ Link นี้ครับ เป็นการรวมหลาย Sheet ไว้ใน Sheet เดียวเป็นการใช้ประโยชน์จากฟังก์ชั่น Indirect ในการดึงข้อมูลจาก Sheet อื่น ๆ มาแสดง
http://snasui.blogspot.com/2009/12/sheet-sheet.html
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Sun Apr 18, 2010 8:00 pm
by tigerwit
ได้แล้วครับ ขอบพระคุณเป็นอย่างสูง
บ้านผมเรียก "งมซาว" อยู่ตั้งนาน
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 6:34 pm
by tigerwit
มีข้อสงสัยว่าไฟล์ที่ คุณคนควน ตอบให้นั้น (Ans_CollectDataFromMultipleSheet.xls [829 KiB] )
ตอนปิดไฟล์ โปรแกรมจะถามว่าบันทึกหรือไม่ ทุกครั้ง ทั้งที่ บางครั้งไม่ได้เปลี่ยนแปลงอะไรเลย
ผมลอง เปิด แล้ว ปิด ทันที ก็ถามว่าบันทึกหรือไม่
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 7:03 pm
by snasui
เป็นปกติครับ เนื่องจากว่าฟังก์ชั่น Indirect ที่ใช้นั้นถูกกระทบเปลี่ยนแปลงได้โดยง่าย (Volatile Function) เปิดมาปุ๊บมันก็ทำการ Refresh ตัวเอง การทำเช่นนี้เสมือนว่าได้เปลี่ยนแปลงไปจากตอนก่อนเปิด เมื่อปิดจึงถามเสมอว่า Save ค่าที่ได้เปลี่ยนแปลงไปหรือไม่
Volatile Function อ่อนไหวต่อการเปลี่ยนแปลงครับ แม้ว่าเราขยับความกว้างเซลล์หรือความสูงของบรรทัดซึ่งไม่ได้เกี่ยวข้องกับข้อมูลที่มีอยู่ โปรแกรมจะทำการคำนวณค่าใหม่ให้เลย ปกติถ้าเป็นไปได้เราควรหลีกเลี่ยงการใช้ฟังก์ชั่นลักษณะนี้กับข้อมูลจำนวนมาก ๆ เพราะจะทำให้ไฟล์ทำการคำนวณทุกครั้งที่มีการเปิดไฟล์หรือมีการเปลี่ยนแปลง
อ่านเพิ่มเติมเกี่ยวกับ Volatile Function ได้ที่
http://www.decisionmodels.com/calcsecretsi.htm
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 7:12 pm
by tigerwit
รบกวนถามต่อที่กระทู้นี้เลยแล้วกันครับ
คือว่า ถ้าต้องการ ซ่อน แท็บชีท ไม่ให้ ผู้ใช้เห็น
เรามีวิธีการใดบ้าง นอกจากการไปกำหนดค่าใน เมนูตัวเลือก
เพราะถ้ากำหนดในตรงนั้น ผู้ใช้ก็สามารถเรียกกลับมาได้
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 7:28 pm
by snasui
ดูตั้วอย่างการซ่อน Sheet ตามภาพด้านล่าง แบบผู้ใช้ไม่สามารถเข้าไป Unhide จากเมนูปกติได้ครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 8:18 pm
by tigerwit
สวัสดีครับ
ลองแล้วมีปัญหา
ไม่สามารถเรียก ชีท กลับมาใช้งานได้ ครับ
ดังไฟล์ที่แนบมา
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 8:24 pm
by snasui
tigerwit wrote:สวัสดีครับ
ลองแล้วมีปัญหา
ไม่สามารถเรียก ชีท กลับมาใช้งานได้ ครับ
ดังไฟล์ที่แนบมา
ช่วยอธิบายเพิ่มเติมอีกนิดครับว่าไม่สามารถใช้งานในลักษณะไหน ผมเปิดไฟล์ขึ้นมาพบว่ามีการกำหนด Option ไม่ให้แสดง Sheet และบาง Sheet ได้กำหนดให้ซ่อนด้วยวิธีการที่ผมแจ้งไป
อยากทราบว่าปัญหาการใช้งานเกิดขึ้นในกรณีใดครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 8:43 pm
by tigerwit
ชีท Cover เป็นหน้าแรก ที่ต้องการให้ผู้ใช้งานเห็น
ปุ่มเลื่อนขั้นเดือนเมษายน เชื่อมโยงไปยัง ชีท PD1
ปุ่มเลื่อนขั้นเดือนตุลาคม เชื่อมโยงไป ชีท PD2
ซึ่งซ่อนแผ่นงาน ตามวิธีที่คุณ คนควน บอกไว้ พอคลิก ที่ปุ่ม มันไม่ไปยังชีททั้งสอง
แต่ปุ่มอื่น ซ่อนแท็บ ไม่ได้ซ่อนแผ่นงาน ปุ่มที่ทำไว้คลิกแล้ว ลิ้งค์ไปได้
ที่ต้องการคือ ซ่อนไม่ให้ผู้ใช้งานเห็น แท็บแผ่นงาน
และไปเรียกใช้ แผ่นงาน จากปุ่มที่เรากำหนดไว้
เรียนถามว่า นอกจาก การซ่อน แท็บแผ่นงาน แล้ว
มีวิธีการอื่นอีกหรือไม่ครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 9:00 pm
by snasui
การซ่อนในลักษณะที่ต้องการคลิก Link แลวให้แสดงนั้นอาจจะต้องใช้ VBA มาช่วยครับ ผมเขียน VBA Code ง่าย ๆ ใช้กับทุก Sheet และ ThisWorkbook ลักษณะการทำงานคือ แม้จะเปิด Option ให้เห็น Sheet ทั้งหมด แต่เมื่อมีการเลือกเซลล์หรือคลิกไปยัง Sheet ที่ต้องการ โปรแกรมจะซ่อน Sheet ทั้งหมดทันที ลองดูตามไฟล์แนบครับ
แต่การทำงานของ Code จะต้องยินยอมให้สามารถใช้ Macro ได้ด้วยครับ ซึ่งจะต้องกำหนดที่เครื่องของผู้ใช้งาน โดยเข้าเมนู Tools > Macro > Security > กำหนดเป็น Medium หรือ Low กรณีกำหนดเป็น Medium จะต้อง Accept Macro เพื่อให้ Code ทำงานได้ด้วยครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Tue Apr 20, 2010 9:38 pm
by tigerwit
ตรงตามต้องการครับ
ขอบคุณมากครับ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Sat Jul 25, 2015 10:49 am
by warapornboonmakong
สวัสดีค่ะ
ขออนุญาติสอบถามเพิ่มเติมจากกระทู้ค่ะ เนื่องจากต้องการรวมข้อมูลจากหลายชีทและศึกษาจากไฟล์ "Ans_CollectDataFromMultipleSheet" แต่พบปัญหาเนื่องจากแต่ละชีทที่ต้องการรวบรวมข้อมูลมาไว้ชีทเดียวกันนั้น ติดสูตร excel อยู่ค่ะเพราะจำเป็นต้องมีการดึงข้อมูลมาจากไฟล์อื่นด้วย ทำให้ต้องผูกสูตรเผื่อเอาไว้ค่ะ ทำให้ที่ชีท AllData ในไฟล์ "Ans_CollectDataFromMultipleSheet" ที่ R6 ซึ่งมีสูตร =COUNTA(INDIRECT("'"&Q6&"'!"&"C6:C65536")) เมื่อนำมาปรับใช้กับงานมีการอ่านจำนวนข้อมูลที่ติดสูตรไว้ด้วย สามารถปรับสูตรอย่างไรได้บ้างค่ะ
หากผิดพลาดประการใดขออภัยไว้ ณ ที่นี้ด้วยค่ะ
Re: รวมข้อมูลจากหลาย Sheet ให้มีอยู่อีก Sheet หนึ่ง
Posted: Sun Jul 26, 2015 8:38 pm
by snasui
ควรแนบไฟล์นั้นมาด้วยจะได้เข้าใจคำว่า "ติดสูตร" หมายความว่าอย่างไร และมีปัญหาใดกับการติดสูตรหรือไม่ติดสูตร จะได้ช่วยเหลือต่อไปได้ครับ