Page 1 of 1
ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Tue Feb 03, 2015 4:35 pm
by spinoza
เรียน อาจารย์ และ สมาชิกทุกท่านครับ
ผมต้องการใส่เงื่อไนให้ Data Validation ครับ
เงื่อนไขมีดังนี้ครับ
โดยที่เวลาใช้แบบ Form Excel นี้ หากมีการเลือก Down List ในช่อง D เป็น ( นักศึกษารายชั่วโมง , นักศึกษาฝึกงาน , นักศึกษาทวิภาคี )
อยากให้ข้อมูลในช่อง E-G,K-P ไม่สามารถระบุข้อมูลได้ครับ ( บางช่องผมใส่ Down List ก็ต้องการให้ไม่สามารถเลือกข้อมูลได้ครับ )
แต่หากเลือกตำแหน่งอื่นที่ไม่ใช่ 3 ตำแหน่งที่กล่าว ให้สามารถระบุข้อมูลได้ตามปกติครับ
ผมได้แนบ File ตัวอย่างมาให้เรียบร้อยแล้วครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Tue Feb 03, 2015 9:42 pm
by snasui

กรณีไม่ให้ระบุข้อมูลได้นั้น เราสามารถใช้ Validation เข้ามาช่วยได้ กรณีในคอลัมน์ E-G, K-P ยังไม่มีการกรอกข้อมูล
คำถามคือถ้าหากข้อมูลเดิมมีข้อมูลอยู่แล้วจะให้แสดงผลอย่างไรครับ

Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Tue Feb 03, 2015 10:19 pm
by spinoza
อยากให้แสดงผลเป็นค่าว่างครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Tue Feb 03, 2015 10:21 pm
by snasui

การทำเช่นนั้นต้องอาศัย VBA ให้เขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน

ติดตรงไหนค่อยถามกันต่อครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Wed Feb 04, 2015 8:13 am
by spinoza
snasui wrote:
การทำเช่นนั้นต้องอาศัย VBA ให้เขียนมาเองก่อนตามกฎการใช้บอร์ดข้อ 5 ด้านบน

ติดตรงไหนค่อยถามกันต่อครับ
เรียนอาจารย์ครับ
เนื่องจากผมทำเรื่อง VBA ไม่เป็นงั้นผมขอเปลี่ยนจากเงื่อนไขหากมีข้อมูลเดิมอยู่ให้เป็นว่าง เป็นแสดงข้อมูลตามเดิมที่มีระบุอยู่ก่อนหน้าแทนนะครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Wed Feb 04, 2015 8:33 am
by menem
การทำ Validate เป็นการตรวจสอบค่าขณะที่ป้อนค่าลงไปในเซลครับ
ไม่ได้เป็นการเปลี่ยนค่าในเซลแบบอัตโนมัติเหมือนกับสูตร ดังนั้น
ถ้าต้องการให้ Validate และมีการปรับเปลี่ยนค่าในเซลอื่น ๆ ตามกัน
จำเป็นต้องใช้ VBA เข้ามาช่วยเท่านั้นครับ
มิเช่นนั้นจะต้องเข้าไปเปลี่ยนค่าในเซลอื่น ๆ ให้อ้างอิงตามการทำ
Validate เองทุกครั้ง ที่มีการเปลี่ยนค่าในเซลตั้งต้น
เช่น เรากำหนดการทำ Validate ไว้ว่า
ถ้าช่อง A1 เป็น X ให้ช่อง B1 มีได้แค่ ก หรือ ข
ถ้าช่อง A1 เป็น Y ให้ช่อง B1 มีได้แค่ ค หรือ ง
ดังนั้น ในตอนแรกหากช่อง A1 เป็น X และกำหนดค่า B1 เป็น ข ไว้
แล้วต่อมามีการเปลี่ยนค่าในช่อง A1 เป็น Y ช่อง B1 ซึ่งยังไม่มีการเข้าไปแก้ไข
(และไม่มีการทำ Validate) ก็จะยังมีค่าเป็น ข ตามเดิม แต่ถ้าเข้าไปเปลี่ยนค่า
มันจะ Validate ให้เป็นเฉพาะ ค หรือ ง เท่านั้น
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Wed Feb 04, 2015 8:51 am
by spinoza
menem wrote:การทำ Validate เป็นการตรวจสอบค่าขณะที่ป้อนค่าลงไปในเซลครับ
ไม่ได้เป็นการเปลี่ยนค่าในเซลแบบอัตโนมัติเหมือนกับสูตร ดังนั้น
ถ้าต้องการให้ Validate และมีการปรับเปลี่ยนค่าในเซลอื่น ๆ ตามกัน
จำเป็นต้องใช้ VBA เข้ามาช่วยเท่านั้นครับ
มิเช่นนั้นจะต้องเข้าไปเปลี่ยนค่าในเซลอื่น ๆ ให้อ้างอิงตามการทำ
Validate เองทุกครั้ง ที่มีการเปลี่ยนค่าในเซลตั้งต้น
เช่น เรากำหนดการทำ Validate ไว้ว่า
ถ้าช่อง A1 เป็น X ให้ช่อง B1 มีได้แค่ ก หรือ ข
ถ้าช่อง A1 เป็น Y ให้ช่อง B1 มีได้แค่ ค หรือ ง
ดังนั้น ในตอนแรกหากช่อง A1 เป็น X และกำหนดค่า B1 เป็น ข ไว้
แล้วต่อมามีการเปลี่ยนค่าในช่อง A1 เป็น Y ช่อง B1 ซึ่งยังไม่มีการเข้าไปแก้ไข
(และไม่มีการทำ Validate) ก็จะยังมีค่าเป็น ข ตามเดิม แต่ถ้าเข้าไปเปลี่ยนค่า
มันจะ Validate ให้เป็นเฉพาะ ค หรือ ง เท่านั้น
แสดงว่า สามารถ ป้องกันการใส่ข้อมูลได้ แต่ไม่สามารถ สั่งให้เปลี่ยนข้อมูลที่มีอยู่แล้วได้ใช่ไหมครับ
ถ้าเป็นแบบนั้น ผมรบกวนขอคำแนะนำแค่ หากเลือกตัวเลือกเป็น ( นักศึกษารายชั่วโมง , นักศึกษาฝึกงาน , นักศึกษาทวิภาคี ) ให้ข้อมูลในช่อง E-G,K-P ไม่สามารถระบุข้อมูลได้ครับ
ส่วนหากช่องนั้นมีข้อมูลอยู่แล้วก็ไม่เป็นไรครับ ให้แสดงข้อมูลตามเดิมก็ได้ครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Wed Feb 04, 2015 11:10 am
by menem
ลองดูนะครับ
หมายเหตุ :
การทำ Validation แบบ Drop down list ไม่สามารถใส่เงื่อนไขตรง ๆ ได้
แต่เราสามารถสร้างเงื่อนไขไว้บนเซลของ Worksheet ได้ครับ
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Wed Feb 04, 2015 6:44 pm
by snasui

มาช่วยเสริมครับ
menem wrote:การทำ Validation แบบ Drop down list ไม่สามารถใส่เงื่อนไขตรง ๆ ได้
ตามไฟล์ที่แนบมานั้นเป็นการเขียนเงื่อนไขเข้าไปตรงๆ ใน Validation เพียงแต่ Validation จะไม่เปลี่ยนค่าในเซลล์ให้เอง ไม่เหมือนการเขียนสูตรลงในเซลล์โดยตรง
ข้อจำกัดของ Validation คือไม่สามารถอ้างเงื่อนไขข้ามชีทแบบตรงไปตรงมา หากจะทำต้องใช้ Indirect เข้าไปช่วย อีกอย่างที่สำคัญคือ เราไม่สามารถเขียนสูตรใน Validation โดยใช้ค่าคงที่ Array เข้ามาช่วยได้
ประโยชน์ของ Validation อีกอย่างหนึ่งคือการตรวจสอบความสมบูรณ์ของข้อมูลในภายหลัง โดยเข้าเมนู Data > Validation > Circle Invalid Data จึงเป็นสิ่งสนับสนุนให้คงค่าในเซลล์ที่มี Validation ไว้
Re: ต้องการใส่เงื่อนไขให้ Data Validation ครับ
Posted: Thu Feb 05, 2015 5:24 pm
by spinoza
ขอบคุณทั้ง 2 ท่านมากน่ะครับ จะลองไปปรับใช้ดูครับ