1.1 คำสั่ง For…Next เป็นคำสั่งวนรอบด้วยจำนวนครั้งในการวนรอบที่แน่นอน โดยสามารถกำหนดค่าเริ่มต้น และค่าสิ้นสุดการทำซ้ำได้ตามที่ผู้เขียนโปรแกรมต้องการ ซึ่งในการปฏิบัติจะมีตัวแปรที่ถูกกำหนดขึ้นสำหรับนับค่าจำนวนรอบ โดยตัวนับรอบจะเริ่มต้นด้วยค่าเริ่มต้นที่ผู้เขียนโปรแกรมกำหนดและจะเพิ่มค่าขึ้นเรื่อยๆ ในแต่ละรอบที่คำสั่ง Next จนกว่าจะถึงค่าสุดท้ายที่กำหนดก็จะหยุดปฏิบัติการและออกจากการวนซ้ำในการเพิ่มค่านั้น โดยปกติจะเพิ่มค่าขึ้นครั้งละ 1 แต่ถ้าต้องการเพิ่มค่าครั้งละมากกว่า หรือน้อยกว่า 1 สามารถกำหนดได้เช่นเดียวกัน
รูปแบบคำสั่ง
For ชื่อตัวแปร = ค่าเริ่มต้น To ค่าสิ้นสุด [Step ค่าที่เพิ่มขึ้นหรือลดลงในแต่ละรอบ]
ชุดคำสั่งต่างๆ
Next ชื่อตัวแปร
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อเริ่มต้นการทำงานในรอบแรกต่าตัวแปรจะเท่ากับค่าเริ่มต้น และจะทำตามคำสั่งที่อยู่ระหว่าง For... กับ Next เมื่อทำตามคำสั่งเรียบร้อยแล้วจะกลับไปเพิ่มหรือลดค่าของตัวแปรอีดโดยต้องดูว่ามีการกำหนดค่าที่เพิ่มหรือลด หรือไม่ คือคำสั่ง Step ถ้าไม่มีการกำหนด Step ค่าจะเพิ่มขึ้นครั้งละ 1 เมื่อเพิ่มค่าแล้วจะกลับมาปฏิบัติตามคำสั่งแล้วกลับไปเพิ่มหรือลดค่าอีก ทำซ้ำอยู่อย่างนี้ไปเรื่อยๆ จนกว่าค่าของตัวแปรจะมากกว่าหรือน้อยกว่าค่าสุดท้าย จากนั้นจะไปทำงานตามคำสั่งที่อยู่ต่อจากคำสั่ง Next หรือหลุดจากการทำซ้ำ
ตัวอย่าง 1 เพิ่มค่าทีละ 1
For i = 0 To 10
MsgBox “ไอมีค่าเท่ากับ” & i, vbInformation+vbOkOnly, “ประโยควนลูป”
Next i
ตัวอย่าง 2 เพิ่มค่าทีละ 2
For i = 5 To 15 Step 2
MsgBox “ไอมีค่าเท่ากับ” & i, vbInformation+vbOkOnly, “ประโยควนลูป”
Next i
ตัวอย่าง 3 ลดค่าทีละ 3
For i = 15 To 2 Step -3
MsgBox “ไอมีค่าเท่ากับ” & i, vbInformation+vbOkOnly, “ประโยควนลูป”
Next i
รูปแบบคำสั่ง
While เงื่อนไข
ชุดคำสั่งเมื่อเงื่อนไขเป็นจริง
กำหนดการเพิ่มขึ้นหรือลดลงของตัวแปร
หลักการทำงาน จากรูปแบบคำสั่งหรือผังงาน เมื่อเริ่มต้นโปรแกรมจะเริ่มด้วยการตรวจสอบเงื่อนไขหลัง While ถ้าเงื่อนไขเป็นจริงก็จะทำตามคำสั่งที่อยู่ในลูป(Loop) และเมื่อทำตามคำสั่งจนมาถึงคำสั่ง Wend ก็จะกลับไปตรวจสอบเงื่อนไขหลัง While อีก กระทำไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จจึงออกจากลูป(
ตัวอย่างการใช้งาน While…Wend
Private Sub Command1_Click()
A=1
While A<5
Debug.Print A
A=A+1
Wend
End Sub
ผลลัพธ์ 1
2
3
4
จากตัวอย่าง A มีค่าเริ่มต้นที่ 1 ในคำสั่ง While เงื่อนไขคือ A < 5 ซึ่งเป็นจริงก็จะพิมพ์ค่า A ออกไปที่ Debug Windows โดยใช้คำสั่ง Debug.Print A แล้วจะมีการเพิ่มค่า A เข้าไปที่ละ 1 โดยใช้คำสั่ง A = A+1 จากนั้นก็จะวนกลับขึ้นไปตรวจสอบเงื่อนไขที่ While จะทำวนรอบไปเรื่อย ๆ จนกว่า A จะเท่ากับ 5 เมื่อ A เท่ากับ 5 แล้วจะทำให้เงื่อนไขเป็นเท็จ ก็เป็นอันว่าหลุดออกจากคำสั่ง While
1.1 คำสั่ง Do…Until
เป็นคำสั่งที่มีการทำงานเป็นวนรอบที่ไม่แน่นอนเช่นเดียวกับคำสั่ง While…Wend ซึ่งมีรูปแบบการทำงานของคำสั่ง 2 รูปแบบ คือ
2.2.1 Do Until…Loop
รูปแบบคำสั่ง
Do Until เงื่อนไข
ชุดคำสั่งเมื่อเงื่อนไขเป็นเท็จ
กำหนดการเพิ่มขึ้นหรือลดลงของตัวแปร
Loop
ตัวอย่าง
Private Sub Command1_Click()
I=0
Do Until I >=5
Debug.Print “Do Until = ”&I
I=I+1
Loop
2.2.2 Do… Loop Until
รูปแบบคำสั่ง
Do
ชุดคำสั่ง
กำหนดการเพิ่มขึ้นหรือลดลงของตัวแปร
Loop Until
หลักการทำงาน หลักการวนรอบการทำงานยังคงเหมือนกับคำสั่งแบบ Do Until….Loop คือจะทำงานตามคำสั่งไปเรื่อย ๆ จนกว่าเงื่อนไขที่ทดสอบจะมีค่าเป็นจริง เพียงแต่คำสั่งแบบ Do…. Loop Until จะทำงานตามคำสั่งก่อนทดสอบเงื่อนไขอย่างน้อย 1 รอบ
ตัวอย่าง
Private Sub Command1_Click()
I=0
Do
Debug.Print “Do Until = ”&I
I=I+1
Loop Until I =5
End Sub