วิธีการเขียนคำสั่งกรณีใน vba (พร้อมตัวอย่าง)


คำสั่ง case คือประเภทของคำสั่งที่วนไปตามเงื่อนไขและส่งกลับค่าเมื่อตรงตามเงื่อนไขแรก

คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อเขียนคำสั่ง case ใน VBA:

 SubCaseStatement ()

    Dim i As Integer

    For i = 2 To 9
    
       Select Case Range(" B " & i).Value
            Case Is >= 30
                result=" Great "
           Box Is >= 20
                result = " Good "
            Case Is >= 15
                result=" OK "
           Case Else
                result=" Bad "
        End Select
        
        Range(" C " & i).Value = result
        
    Next i
    
End Sub

ตัวอย่างนี้จะดูแต่ละเซลล์ในช่วง B2:B9 และส่งกลับค่าต่อไปนี้ในช่วง C2:C9 :

  • ดีเยี่ยม ” หากค่าในคอลัมน์ B มากกว่าหรือเท่ากับ 30
  • มิฉะนั้นจะเป็น ” ดี ” หากค่าในคอลัมน์ B มากกว่าหรือเท่ากับ 20
  • มิฉะนั้น ” ตกลง ” หากค่าในคอลัมน์ B มากกว่าหรือเท่ากับ 15
  • มิฉะนั้นจะ ” แย่ ” หากไม่มีเงื่อนไขใด ๆ ข้างต้น

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: การเขียนคำสั่งกรณีใน VBA

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่แสดงจำนวนคะแนนที่ผู้เล่นบาสเก็ตบอลแต่ละคนทำได้:

สมมติว่าเราต้องการเขียนคำสั่ง case เพื่อกำหนดค่าดีเยี่ยม ดี ตกลง หรือแย่ ให้กับผู้เล่นแต่ละคนตามจำนวนคะแนนที่ได้

เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:

 SubCaseStatement ()

    Dim i As Integer

    For i = 2 To 9
    
       Select Case Range(" B " & i).Value
            Case Is >= 30
                result=" Great "
           Box Is >= 20
                result = " Good "
            Case Is >= 15
                result=" OK "
           Case Else
                result=" Bad "
        End Select
        
        Range(" C " & i).Value = result
        
    Next i
    
End Sub

เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

คอลัมน์ C ส่งกลับค่าดีเยี่ยม ดี ตกลง หรือแย่โดยยึดตามค่าที่สอดคล้องกันในคอลัมน์ B

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:

VBA: วิธีจัดประเภทรายการค่า
VBA: วิธีนับค่าที่ไม่ซ้ำในช่วง
VBA: วิธีนับจำนวนแถวในช่วง

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *