snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#1
Post
by tigerwit » Sun Apr 18, 2010 4:22 pm
สวัสดีครับ
มีปัญหามีรบกวนเรียนถามอีกแล้วครับ
ในไฟล์ 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)
รบกวนด้วยครับ
You do not have the required permissions to view the files attached to this post.
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#2
Post
by snasui » Sun Apr 18, 2010 5:09 pm
ลองดูตามไฟล์แนบครับ
หลักการทำเหมือนกับ Link นี้ครับ เป็นการรวมหลาย Sheet ไว้ใน Sheet เดียวเป็นการใช้ประโยชน์จากฟังก์ชั่น Indirect ในการดึงข้อมูลจาก Sheet อื่น ๆ มาแสดง
http://snasui.blogspot.com/2009/12/sheet-sheet.html
You do not have the required permissions to view the files attached to this post.
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#3
Post
by tigerwit » Sun Apr 18, 2010 8:00 pm
ได้แล้วครับ ขอบพระคุณเป็นอย่างสูง
บ้านผมเรียก "งมซาว" อยู่ตั้งนาน
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#4
Post
by tigerwit » Tue Apr 20, 2010 6:34 pm
มีข้อสงสัยว่าไฟล์ที่ คุณคนควน ตอบให้นั้น (Ans_CollectDataFromMultipleSheet.xls [829 KiB] )
ตอนปิดไฟล์ โปรแกรมจะถามว่าบันทึกหรือไม่ ทุกครั้ง ทั้งที่ บางครั้งไม่ได้เปลี่ยนแปลงอะไรเลย
ผมลอง เปิด แล้ว ปิด ทันที ก็ถามว่าบันทึกหรือไม่
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 » Tue Apr 20, 2010 7:03 pm
เป็นปกติครับ เนื่องจากว่าฟังก์ชั่น Indirect ที่ใช้นั้นถูกกระทบเปลี่ยนแปลงได้โดยง่าย (Volatile Function) เปิดมาปุ๊บมันก็ทำการ Refresh ตัวเอง การทำเช่นนี้เสมือนว่าได้เปลี่ยนแปลงไปจากตอนก่อนเปิด เมื่อปิดจึงถามเสมอว่า Save ค่าที่ได้เปลี่ยนแปลงไปหรือไม่
Volatile Function อ่อนไหวต่อการเปลี่ยนแปลงครับ แม้ว่าเราขยับความกว้างเซลล์หรือความสูงของบรรทัดซึ่งไม่ได้เกี่ยวข้องกับข้อมูลที่มีอยู่ โปรแกรมจะทำการคำนวณค่าใหม่ให้เลย ปกติถ้าเป็นไปได้เราควรหลีกเลี่ยงการใช้ฟังก์ชั่นลักษณะนี้กับข้อมูลจำนวนมาก ๆ เพราะจะทำให้ไฟล์ทำการคำนวณทุกครั้งที่มีการเปิดไฟล์หรือมีการเปลี่ยนแปลง
อ่านเพิ่มเติมเกี่ยวกับ Volatile Function ได้ที่
http://www.decisionmodels.com/calcsecretsi.htm
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#6
Post
by tigerwit » Tue Apr 20, 2010 7:12 pm
รบกวนถามต่อที่กระทู้นี้เลยแล้วกันครับ
คือว่า ถ้าต้องการ ซ่อน แท็บชีท ไม่ให้ ผู้ใช้เห็น
เรามีวิธีการใดบ้าง นอกจากการไปกำหนดค่าใน เมนูตัวเลือก
เพราะถ้ากำหนดในตรงนั้น ผู้ใช้ก็สามารถเรียกกลับมาได้
You do not have the required permissions to view the files attached to this post.
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 » Tue Apr 20, 2010 7:28 pm
ดูตั้วอย่างการซ่อน Sheet ตามภาพด้านล่าง แบบผู้ใช้ไม่สามารถเข้าไป Unhide จากเมนูปกติได้ครับ
You do not have the required permissions to view the files attached to this post.
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#8
Post
by tigerwit » Tue Apr 20, 2010 8:18 pm
สวัสดีครับ
ลองแล้วมีปัญหา
ไม่สามารถเรียก ชีท กลับมาใช้งานได้ ครับ
ดังไฟล์ที่แนบมา
You do not have the required permissions to view the files attached to this post.
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 » Tue Apr 20, 2010 8:24 pm
tigerwit wrote: สวัสดีครับ
ลองแล้วมีปัญหา
ไม่สามารถเรียก ชีท กลับมาใช้งานได้ ครับ
ดังไฟล์ที่แนบมา
ช่วยอธิบายเพิ่มเติมอีกนิดครับว่าไม่สามารถใช้งานในลักษณะไหน ผมเปิดไฟล์ขึ้นมาพบว่ามีการกำหนด Option ไม่ให้แสดง Sheet และบาง Sheet ได้กำหนดให้ซ่อนด้วยวิธีการที่ผมแจ้งไป
อยากทราบว่าปัญหาการใช้งานเกิดขึ้นในกรณีใดครับ
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#10
Post
by tigerwit » Tue Apr 20, 2010 8:43 pm
ชีท Cover เป็นหน้าแรก ที่ต้องการให้ผู้ใช้งานเห็น
ปุ่มเลื่อนขั้นเดือนเมษายน เชื่อมโยงไปยัง ชีท PD1
ปุ่มเลื่อนขั้นเดือนตุลาคม เชื่อมโยงไป ชีท PD2
ซึ่งซ่อนแผ่นงาน ตามวิธีที่คุณ คนควน บอกไว้ พอคลิก ที่ปุ่ม มันไม่ไปยังชีททั้งสอง
แต่ปุ่มอื่น ซ่อนแท็บ ไม่ได้ซ่อนแผ่นงาน ปุ่มที่ทำไว้คลิกแล้ว ลิ้งค์ไปได้
ที่ต้องการคือ ซ่อนไม่ให้ผู้ใช้งานเห็น แท็บแผ่นงาน
และไปเรียกใช้ แผ่นงาน จากปุ่มที่เรากำหนดไว้
เรียนถามว่า นอกจาก การซ่อน แท็บแผ่นงาน แล้ว
มีวิธีการอื่นอีกหรือไม่ครับ
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 » Tue Apr 20, 2010 9:00 pm
การซ่อนในลักษณะที่ต้องการคลิก Link แลวให้แสดงนั้นอาจจะต้องใช้ VBA มาช่วยครับ ผมเขียน VBA Code ง่าย ๆ ใช้กับทุก Sheet และ ThisWorkbook ลักษณะการทำงานคือ แม้จะเปิด Option ให้เห็น Sheet ทั้งหมด แต่เมื่อมีการเลือกเซลล์หรือคลิกไปยัง Sheet ที่ต้องการ โปรแกรมจะซ่อน Sheet ทั้งหมดทันที ลองดูตามไฟล์แนบครับ
แต่การทำงานของ Code จะต้องยินยอมให้สามารถใช้ Macro ได้ด้วยครับ ซึ่งจะต้องกำหนดที่เครื่องของผู้ใช้งาน โดยเข้าเมนู Tools > Macro > Security > กำหนดเป็น Medium หรือ Low กรณีกำหนดเป็น Medium จะต้อง Accept Macro เพื่อให้ Code ทำงานได้ด้วยครับ
You do not have the required permissions to view the files attached to this post.
tigerwit
Bronze
Posts: 480 Joined: Wed Mar 31, 2010 10:51 pm
Location: สกลนคร
Excel Ver: 2019
Contact:
#12
Post
by tigerwit » Tue Apr 20, 2010 9:38 pm
ตรงตามต้องการครับ
ขอบคุณมากครับ
warapornboonmakong
Member
Posts: 7 Joined: Wed Jul 01, 2015 4:27 pm
#13
Post
by warapornboonmakong » Sat Jul 25, 2015 10:49 am
สวัสดีค่ะ
ขออนุญาติสอบถามเพิ่มเติมจากกระทู้ค่ะ เนื่องจากต้องการรวมข้อมูลจากหลายชีทและศึกษาจากไฟล์ "Ans_CollectDataFromMultipleSheet" แต่พบปัญหาเนื่องจากแต่ละชีทที่ต้องการรวบรวมข้อมูลมาไว้ชีทเดียวกันนั้น ติดสูตร excel อยู่ค่ะเพราะจำเป็นต้องมีการดึงข้อมูลมาจากไฟล์อื่นด้วย ทำให้ต้องผูกสูตรเผื่อเอาไว้ค่ะ ทำให้ที่ชีท AllData ในไฟล์ "Ans_CollectDataFromMultipleSheet" ที่ R6 ซึ่งมีสูตร =COUNTA(INDIRECT("'"&Q6&"'!"&"C6:C65536")) เมื่อนำมาปรับใช้กับงานมีการอ่านจำนวนข้อมูลที่ติดสูตรไว้ด้วย สามารถปรับสูตรอย่างไรได้บ้างค่ะ
หากผิดพลาดประการใดขออภัยไว้ ณ ที่นี้ด้วยค่ะ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#14
Post
by snasui » Sun Jul 26, 2015 8:38 pm
ควรแนบไฟล์นั้นมาด้วยจะได้เข้าใจคำว่า "ติดสูตร" หมายความว่าอย่างไร และมีปัญหาใดกับการติดสูตรหรือไม่ติดสูตร จะได้ช่วยเหลือต่อไปได้ครับ