snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งานสูตรและฟังก์ชัน Excel
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] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
wissanu
Member
Posts: 2 Joined: Thu Nov 24, 2016 10:50 am
#1
Post
by wissanu » Thu Nov 24, 2016 12:54 pm
ความต้องการ ครับ
1. ให้ป้อนค่าจาก ซ้ายไปขวานะ ครับ
2. สมมุติว่าป้อนในช่อง E3 แล้วค่า ไม่อยู่ในช่วง Upper Limit ( C3 ) หรือ Lower Limit ( D3 ) จะให้ ทำการป้อนข้อมูลใหม่ในช่องเดิม E3 อีก 3 ครั้ง โดยเอาค่า Average (ค่าในแต่ละครั้งที่ป้อนข้อมูลทั้ง 3 ครั้ง) มาใส่ในช้อง E3
ถึงจะไปช่อง F3 ต่อไป
You do not have the required permissions to view the files attached to this post.
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#2
Post
by DhitiBank » Thu Nov 24, 2016 1:50 pm
การทำแบบนั้นคงต้องใช้ VBA ครับ ซึ่งต้องเขียนมาเองก่อน ติดปัญหาแล้วค่อยมาโพสต์ถามครับ
wissanu
Member
Posts: 2 Joined: Thu Nov 24, 2016 10:50 am
#3
Post
by wissanu » Thu Nov 24, 2016 3:30 pm
ผมก็ลองเขียน vba แล้วครับ ติดปั็หาตรง ข้อที่
2. สมมุติว่าป้อนในช่อง E3 แล้วค่า ไม่อยู่ในช่วง Upper Limit ( C3 ) หรือ Lower Limit ( D3 ) จะให้ ทำการป้อนข้อมูลใหม่ในช่องเดิม E3 อีก 3 ครั้ง โดยเอาค่า Average (ค่าในแต่ละครั้งที่ป้อนข้อมูลทั้ง 3 ครั้ง) มาใส่ในช้อง E3
ถึงจะไปช่อง F3 ต่อไป
ไม่รู้จะเขียนยังไงครับ
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#4
Post
by DhitiBank » Thu Nov 24, 2016 4:31 pm
อาจจะเอาค่าที่ป้อนไปเก็บไว้ในเซลล์นอกตารางก่อนก็ได้ครับ พอครบ 3 ครั้งแล้วก็ค่อยรันคำสั่งให้หาค่าเฉลี่ยแล้วเอามาวาง
แต่การทำแบบนี้ก็ควรเช็คก่อนว่าสิ่งที่คีย์เป็นตัวเลข หากไม่ใช่ตัวเลขก็จะไม่ยอมรับแล้วให้คีย์ใหม่ แล้วก็ควรเช็คด้วยว่าผู้ใช้งานกำลังคีย์เซลล์เดิม (กรณีไม่อยู่ใน Upper หรือ Lower limit) เพราะก็อาจมีกรณีที่กำลังคีย์ค่าซ้ำได้ 2 ครั้ง แล้วไปคีย์เซลล์อื่น ผลเฉลี่ยที่ได้ก็ไม่ถูก และใส่ไม่ตรงเซลล์ อะไรทำนองนี้ครับ อย่างไรก็ตามก็ต้องเขียนมาเองก่อน ติดแล้วค่อยถามกันต่อครับ