เชิญทุกท่านที่สนใจสมัครเข้าอบรมในวันอาทิตย์ครับ ... คลิกที่นี่เพื่อดูรายละเอียดและลงทะเบียน

Arrow up
Arrow down
Print
Parent Category: Training Manuals
Category: Work Simplification with Excel Expert VBA Manual

Select Case testexpression
    [Case expressionlist-n
        [statements-n]] ...
    [Case Else
        [elsestatements]]
End Select

ตัวอย่างที่ 1

สมมติ ในแฟ้มมีเซลล์หนึ่งที่ตั้งชื่อว่า Source ไว้แล้ว โดยเราอยากให้ใช้ค่าใน Source เป็นตัวควบคุมการตัดสินใจเลือกให้ชุดคำสั่งที่ต้องการทำงานต่อไป

If [Source] = 100 Then SendData1 Else SendData2

หรือ

If [Source] = 100 Then
    SendData1
Else
    SendData2
End If
หรือ

Select Case [Source]
    Case 100
        SendData1
    Case Else
        SendData2
End Select

ตัวอย่างที่ 2

ขอใช้ค่าจาก Source เช่นเดียวกับตัวอย่างแรก เพียงแต่แทนที่จะตรวจสอบว่า Source มีค่าเท่ากับ 100 หรือไม่เท่านั้น คราวนี้ให้เปรียบเทียบค่า Source ต่อไปอย่างละเอียดดังนี้

ในกรณีที่มีเงื่อนไขซับซ้อนมากขึ้นนี้ ถ้าจะใช้ If...Then...Else Statements จะต้องเขียน ElseIf ซ้อนกันหลายชั้น แต่เนื่องจากทุกเงื่อนไขที่ใช้นั้น ใช้ค่าจาก Source เดียวกันตลอด จึงน่าเลือกใช้ Select Case Statement จะเขียนได้ง่าย มีโครงสร้างที่ชัดเจน และช่วยให้ย้อนกลับมาแก้ไขได้สะดวกกว่า

Select Case [Source]
    Case Is > 100
        SendData1a
    Case Is > 80
        SendData1b
    Case Is > 60
        SendData1c
    Case Is > 40
        SendData1d
    Case Is > 20
        SendData1e
    Case Else
        SendData2
End Select

Author: สมเกียรติ ฟุ้งเกียรติEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.