Select…Case เป็นคำสั่งเพื่อการตัดสินใจเช่นเดียวกับ If…Then…Else ซึ่งจะเป็นการตรวจสอบนิพจน์ว่าเข้ากรณีใด เมื่อเข้ากรณีนั้น ๆ แล้วจะหยุดตรวจสอบกรณีที่เหลือทันทีเช่นเดียวกับ If…Then…Else แตกต่างกันตรงที่สามารถทดสอบตามกลุ่มของคำหรือค่าเป็นช่วงได้
สะดวกกว่า ซึ่งในการเขียนโปรแกรมควบคุม Excel ในงานที่มีความซับซ้อนเราพบว่าต้องใช้ Select…Case เพื่อการตัดสินใจอยู่บ่อยครั้ง
กรณีใช้สัญญลักษณ์ทางคณิตศาสตร์ในการเปรียบเทียบได้แก่ =, <>, < , >,
< = หรือ >= จะใช้คำว่า Is เข้ามาร่วมด้วย เช่น Case Is > 100, Case Is < = 1000, Case Is <> 0, Case Is >= 99 เป็นต้น
หากใช้ตรวจสอบเป็นช่วงจะใช้ To เข้ามาร่วมด้วยเช่น Case 1 To 20, Case 8 To 30, 50 To 80 และยังสามารถใช้ Is ร่วมกับ To ได้ เช่น Case 10 To 20, 30 To 100 Is > MyNumber
Video ด้านล่างนี้อธิบายความหมายและการใช้งาน Select Case ที่พบได้บ่อยในชีวิตประจำวันที่มักจะมีการเที่ยบว่าเป็นค่าใดหรืออยู่ในกลุ่มนั้นกลุ่มนี้หรือไม่ หรือเป็นค่าในช่วงใด ๆ หรือไม่เป็นต้น ซึ่งจะมีตัวอย่าง Code ตามด้านล่างครับ
'Case compare text Sub SelectCaseTesing() Dim i As Integer i = 2 Select Case Range("a" & i).Value Case "AR", "VR" Range("g" & i).Value = "Thai" Case "VB" Range("g" & i).Value = "Laos" Case "ZR" Range("g" & i).Value = "Malasia" Case "MN2" Range("g" & i).Value = "Singapore" Case Else Range("g2").Value = "Please check" End Select End Sub 'Case compare number Sub SelectCaseTesting2() Dim i As Integer i = 2 Select Case Range("e" & i).Value Case Is < = 1000 Range("f" & i).Value = 10 Case 1001 To 3000 Range("f" & i).Value = 100 Case 3001 To 9000 Range("f" & i).Value = 1000 Case Is >= 9000 Range("f" & i).Value = 1000 Case Else Range("f" & i).Value = "Please check" End Select End Sub
📹 Video แสดงการใช้งาน Select…Case (1)
🧭 Timeline หัวข้อหลัก
- 00:00:13 แนะนำวัตถุประสงค์: ใช้ Select Case เพื่อควบคุมเงื่อนไขใน VBA
- 00:00:40 เปรียบเทียบ Select Case กับ If…Then…Else
- 00:01:10 อธิบายโครงสร้างคำสั่ง Select Case 00:01:25 ใช้ Case เปรียบเทียบข้อความ เช่น “AR”, “VB”, “ZR”
- 00:02:10 ใช้ Case เปรียบเทียบตัวเลข เช่น Case Is <= 1000, Case 1001 To 3000
- 00:02:45 ใช้ Case Else เพื่อจัดการกรณีไม่ตรงเงื่อนไขใด ๆ
- 00:03:20 สาธิตการใช้ Select Case กับข้อมูลในเซลล์
- 00:04:10 อธิบายการใช้ Is และ To เพื่อกำหนดช่วงและเงื่อนไข
- 00:05:00 ทดสอบการทำงานของโค้ดกับข้อมูลจริง
- 00:06:10 สรุป: Select Case ช่วยให้โค้ดอ่านง่ายและควบคุมเงื่อนไขได้อย่างมีประสิทธิภาพ
📹 Video แสดงการใช้งาน Select…Case (2)
🧭 Timeline หัวข้อหลัก
- 00:00:13 แนะนำวัตถุประสงค์: ประยุกต์ใช้ Select Case กับข้อมูลจริง
- 00:01:00 ทบทวนโครงสร้างคำสั่ง Select Case จากตอนก่อนหน้า
- 00:02:15 สาธิตการใช้ Case กับรหัสสินค้า เช่น “AR”, “VB”, “ZR”
- 00:04:30 ใช้ Case Is <= 1000 และ Case 1001 To 3000 เพื่อกำหนดช่วงราคา 00:06:45 ใช้ Case Else เพื่อจัดการกรณีไม่ตรงเงื่อนไขใด ๆ
- 00:08:00 สร้างตัวแปรรับค่าจากเซลล์แล้วใช้ Select Case ควบคุมผลลัพธ์
- 00:10:20 สาธิตการแสดงผลลัพธ์ในเซลล์ปลายทาง
- 00:12:30 อธิบายการใช้ Select Case กับข้อมูลหลายประเภทในระบบเดียว
- 00:15:00 ทดสอบการเปลี่ยนข้อมูลและดูผลลัพธ์ที่เปลี่ยนตาม
- 00:18:10 ยกตัวอย่างการประยุกต์ใช้ในระบบจัดกลุ่มลูกค้า
- 00:21:00 สรุป: Select Case ช่วยให้โค้ดอ่านง่ายและควบคุมเงื่อนไขได้อย่างแม่นยำ
🔗 Link ที่เกี่ยวข้อง
ดาวน์โหลดไฟล์ตัวอย่างได้ที่ Example
กรณีมีปัญหาการใช้งาน Excel and VBA สามารถสอบถามได้ที่ Excel Forum