ประโยคแบบเงื่อนไข If Statement แบ่งออกเป็น 3 แบบ คือ
1.1.1 คำสั่ง If…Then เป็นคำสั่งที่เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำการเปรียบเทียบและตัดสินใจเลือกเงื่อนไขที่เป็นจริงและให้กระทำคำสั่งที่ต้องการ โดยมีทางเลือกเพียง 1 ทางเท่านั้น
รูปแบบคำสั่ง
If เงื่อนไข Then
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นจริง
End If
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบเงื่อนไขหลัง IF ผลลัพธ์ที่ได้คือ
- เงื่อนไขเป็นจริง จะทำตามคำสั่งหลัง Then
- เงื่อนไขเป็นเท็จ จะออกจากเงื่อนไข
ตัวอย่าง
Dim y As Integer
y=5
If y > 2 Then
Debug.Print “Y มีค่ามากกว่า 2”
End If
Debug.Print “Y มีค่าน้อยกว่าหรือเท่ากับ 2”
รูปแบบคำสั่ง
IF เงื่อนไข THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นจริง
Else
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไขเป็นเท็จ
End If
Debug.Print “Y มีค่าน้อยกว่าหรือเท่ากับ 2”
- ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Then
- ถ้าเงื่อนไขเป็นเท็จ ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Else
ตัวอย่างการใช้งาน If…Then…Else
Dim A As Integer, B As Integer
Dim C As Integer
A = 5
B = 10
If A > B Then
C = A + B
Else
C = A- B
End If
จากตัวอย่างจะมีการนำค่า A มาเปรียบเทียบกับ B ถ้าหากว่า A มากกว่า B ก็จะเอา A บวก กับ B แล้วเก็บไว้ใน C ถ้า กรณี A<= B จะเป็นการนำเอา A มาลบออกด้วย B แล้วเก็บผลลัพธ์ไว้ใน C แต่ในตัวอย่างจะมีการทำคำสั่ง
C = A- B เพราะ A = 5 และ B = 10 ดังนั้น A จึงไม่มากกว่า B จึงเป็นเหตุให้เงื่อนไขเป็นเท็จ ดังนั้น คำสั่ง C = A- B จึงถูกกระทำ
1.1.3 คำสั่ง If…Then…Elseif เป็นคำสั่งที่เขียนโปรแกรมเพื่อสั่งให้คอมพิวเตอร์ ทำการตรวจสอบเงื่อนไขแล้วมีทางเลือกมากกว่า 2 ทางเลือก
รูปแบบคำสั่ง
IF เงื่อนไข1 THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไข1เป็นจริง
Elseif เงื่อนไข2 THEN
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อเงื่อนไข2เป็นจริง
Else
ชุดคำสั่งต่างๆที่ต้องการทำเมื่อไม่ตรงกับเงื่อนไขใด
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบเงื่อนไขหลัง IF ผลลัพธ์ที่ได้คือ
- ถ้าเงื่อนไขแรกเป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Then หากเงื่อนไขแรกเป็นเท็จ ให้เข้าตรวจสอบเงื่อนไขที่ 2
- ถ้าเงื่อนไขที่ 2 เป็นจริง ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Then ของคำสั่งที่ 2 หากเงื่อนไขที่ 2 เป็นเท็จ ให้ทำการตรวจสอบเงื่อนไขอีกเรื่อยๆ
- ถ้าเงื่อนไขทั้งหมดเป็นเท็จ ให้ทำตามคำสั่งหรือชุดคำสั่งหลัง Else
ตัวอย่าง
If y > 2 Then
MsgBox “วายมากกว่าสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
ElseIf y > 0 Then
MsgBox “วายไม่มากศูนย์ แต่น้อยกว่าหรือเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
Else
MsgBox “วายไม่มากกว่าศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
End If
ประโยคแบบเงื่อนไข Select Case
คำสั่ง Select Case เป็นคำสั่งที่เหมาะสำหรับการตรวจสอบเงื่อนไข และมีทางเลือกมากกว่า 2 ทางเลือกนิยมใช้ในกรณีที่เงื่อนไขมีตัวแปรเพียงตัวเดียว ลักษณะการทำงานคล้ายกับคำสั่ง If…Then…Elseif แต่จะมีโครงสร้างซับซ้อนน้อยกว่า
รูปแบบคำสั่ง
Select Case ชื่อตัวแปร
Case เงื่อนไข1
ชุดคำสั่งต่างๆเงื่อนไข1เป็นจริง
Case เงื่อนไข2
ชุดคำสั่งต่างๆเงื่อนไข2เป็นจริง
Case เงื่อนไขn
ชุดคำสั่งต่างๆเงื่อนไขnเป็นจริง
Case Else
ชุดคำสั่งต่างๆเมื่อไม่ตรงกับเงื่อนไขใด
End Select
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อโปรแกรมพบคำสั่งนี้ จะทำการตรวจสอบค่าของตัวแปรหลัง Select Case ว่ามีค่าตรงกับเงื่อนไขใดหลังคำสั่ง Case ก็ให้ทำคำสั่งที่อยู่ต่อจากคำสั่ง Case นั้นๆ และถ้าค่าของตัวแปรไม่ตรงกับเงื่อนไขคำสั่งหลัง Case ใดเลย โปรแกรมจะทำคำสั่งที่อยู่หลัง Case Else
การใช้คำสั่ง Select Case มี 2 ลักษณะ
1. การใข้คำสั่ง Select Case แบบกำหนดช่วง
ตัวอย่าง
Select Case total
Case 10 To 20
MsgBox “Total มีค่าตั้งแต่ 10 ถึง 20”
Case 30 To 40
MsgBox “Total มีค่าตั้งแต่ 30 ถึง 40”
Case 50 To 60
MsgBox “Total มีค่าตั้งแต่ 50 ถึง 60”
Case Else
MsgBox “กรุณาป้อนข้อมูลใหม่”
End Select
2. การใช้คำสั่ง Select Case แบบเปรียบเทียบ ใช้ IS เพื่อแทนชื่อตัวแปร
ตัวอย่าง 1
Select Case y
Case IS >= 2
MsgBox “วายมากกว่าหรือเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
Case IS >= 8
MsgBox “วายมากกว่าหรือเท่ากับแปด”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
Case Else
MsgBox “วายมากกว่าหรือเท่ากับสองและแปด”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
End Select
ตัวอย่าง 2
Select Case y
Case 2
MsgBox “วายเท่ากับสอง”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
Case 0
MsgBox “วายเท่ากับศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
Case Else
MsgBox “วายไม่เท่ากับสอง และไม่เท่ากับศูนย์”, vbInformation+vbOkOnly, “ประโยคเงื่อนไข”
End Select
ไม่มีความคิดเห็น:
แสดงความคิดเห็น