VBA Do until Loop | ตัวอย่างทีละขั้นตอนเพื่อใช้ Do Until ใน VBA

Do until Loop ใน VBA Excel คืออะไร?

ในVBA Do until Loopเราต้องกำหนดเกณฑ์หลังจากคำสั่ง until ซึ่งหมายถึงเมื่อเราต้องการให้ลูปหยุดและคำสั่งสิ้นสุดคือลูปนั่นเอง ดังนั้นหากเงื่อนไขเป็น FALSE มันจะดำเนินการคำสั่งภายในลูปต่อไป แต่ถ้าเงื่อนไขเป็น TRUE ทันทีมันจะออกจากคำสั่ง Do Until

ตามคำพูดที่บอกว่าให้ทำงานบางอย่างจนกว่าจะถึงเกณฑ์ให้ทำจนกว่าลูปจะถูกใช้ในภาษาโปรแกรมเกือบทั้งหมดใน VBA บางครั้งเราก็ใช้ Do until loop Do Until Loop หมายถึงการทำบางสิ่งบางอย่างจนกว่าเงื่อนไขจะกลายเป็น TRUE มันเหมือนกับฟังก์ชันตรรกะที่ทำงานบนพื้นฐานของ TRUE หรือ FALSE

นี่คือสิ่งที่ตรงกันข้ามกับ Do While ลูปโดยที่ Do while รันลูปตราบเท่าที่เงื่อนไขเป็น TRUE

ไวยากรณ์

Do until loop มีไวยากรณ์สองประเภท

ไวยากรณ์ # 1 

 ทำจนกว่า [เงื่อนไข] [ดำเนินการบางอย่าง] วนซ้ำ 

ไวยากรณ์ # 2

 ทำ [ดำเนินการบางอย่าง] วนซ้ำจนกว่า [เงื่อนไข] 

ทั้งสองดูคล้ายกันมากและมีความแตกต่างง่ายๆอยู่ที่นั่น

ในไวยากรณ์แรกลูป“ Do until” ตรวจสอบเงื่อนไขก่อนและรับผลลัพธ์เงื่อนไขเป็น TRUE หรือ FALSE หากเงื่อนไขเป็น FALSE มันจะรันโค้ดและทำงานที่ระบุและหากเงื่อนไขเป็น TRUE ก็จะออกจากลูป

ในไวยากรณ์ที่สอง "Do" ลูปประการแรกมันจะดำเนินการงาน cod จากนั้นจะทดสอบว่าเงื่อนไขเป็นจริงหรือเท็จ หากเงื่อนไขเป็น FALSE ระบบจะย้อนกลับและทำงานเดิมอีกครั้ง ถ้าเงื่อนไขเป็นจริงมันจะออกจากลูปทันที

ตัวอย่าง

ฉันรู้ว่ามันไม่ใช่เรื่องง่ายที่จะเข้าใจอะไรในส่วนของทฤษฎี แต่ไม่มีอะไรต้องกังวล เราจะยกตัวอย่างง่ายๆเพื่อทำความเข้าใจลูป อ่านต่อ. ในการเริ่มต้นการเรียนรู้ให้ดำเนินการแทรกหมายเลขซีเรียล 10 ตัวแรกจากเซลล์ A1 ถึง A10

คุณสามารถดาวน์โหลดเทมเพลต VBA Do Until Excel ได้ที่นี่ - VBA Do until Excel Template

ทำตามขั้นตอนด้านล่างเพื่อใช้ลูป“ Do until”

ขั้นตอนที่ 1:สร้างชื่อมาโครก่อนเพื่อเริ่มกระบวนการย่อย

รหัส:

 ย่อย Do_Until_Example1 () End Sub 

ขั้นตอนที่ 2:กำหนดตัวแปรเป็น“ Long”  ฉันได้กำหนด“ x” เป็นประเภทข้อมูลแบบยาว

Dim x As Long

ขั้นตอนที่ 3:ตอนนี้ป้อนคำว่า“ Do until”

ทำจนกว่า

ขั้นตอนที่ 4:หลังจากเริ่มต้นชื่อลูปให้ป้อนเงื่อนไขเป็น“ x = 11”

 ทำจนถึง x = 11

x = 11 คือการทดสอบเชิงตรรกะที่เรานำไปใช้ บรรทัดนี้บอกว่าให้รันลูปจนกว่า x จะเท่ากับ 11

ขั้นตอนที่ 5:ใช้คุณสมบัติ CELLS และใส่หมายเลขซีเรียลตั้งแต่ 1 ถึง 10

เซลล์ (x, 1) .Value = x

หมายเหตุ: ในที่นี้เราได้กล่าวถึง“ x” เริ่มจาก 1 ดังนั้นค่า x ตัวแรกจึงเท่ากับ 1 ที่ใดก็ตามที่“ x” จะมีค่าเท่ากับ 1

ขั้นตอนที่ 6:ปิดลูปตอนนี้โดยป้อนคำว่า“ LOOP”

 Sub Do_Until_Example1 () Dim x As Long Do until x = 11 Cells (x, 1) .Value = x Loop 

End Sub

โอเคเราทำส่วนการเข้ารหัสเสร็จแล้วตอนนี้เราจะทดสอบโค้ดทีละบรรทัดเพื่อทำความเข้าใจลูปให้ดีขึ้น

ในการรันบรรทัดตามรหัสบรรทัดก่อนอื่นให้กดปุ่ม F8

ขั้นแรกจะเน้นชื่อมาโครด้วยสีเหลือง

เมื่อคุณเห็นเส้นสีเหลืองจะมีข้อความระบุว่าไม่ได้ดำเนินการโดยกำลังจะดำเนินการหากคุณกดปุ่ม F8 อีกครั้ง

ตอนนี้กดปุ่ม F8 อีกครั้งเส้นสีเหลืองจะไปที่ Do until Loop

ตอนนี้เพื่อทำความเข้าใจเกี่ยวกับลูปให้วางเคอร์เซอร์ไว้ที่ตัวแปร“ x” และดูค่าของตัวแปร“ x”

ดังนั้น x = 0 เนื่องจากเส้นที่ไฮไลต์เป็นบรรทัดแรกในลูปดังนั้นค่าของ“ x” จึงเป็นศูนย์ดังนั้นให้กดปุ่ม F8 อีกครั้งและดูค่าของ“ x” ก่อนออกจากนั้นโค้ดจะทำงานและกำหนดค่าให้“ x” เป็น 1

ตอนนี้เริ่มการทำงานของลูปอีกครั้งโดยกดปุ่ม F8 ดูค่าของ“ x”

ตอนนี้ค่าของ“ x” แสดงเป็น 1 เพื่อให้มีค่าที่เพิ่มขึ้นให้กับตัวแปร“ x” เราจำเป็นต้องกำหนดค่าของตัวแปร“ x” ใหม่เป็น x = x + 1 ภายในลูป

ตอนนี้กดปุ่ม F8 อีกครั้งและเราควรได้รับค่า 1 ในเซลล์ A1

ตอนนี้กดปุ่ม F8 อีกครั้งและดูว่าค่าของ“ x” คืออะไร

ค่าของตัวแปร“ x” คือ 2 ในขณะนี้ เงื่อนไขของเราบอกว่าให้รันลูปจนกว่าเงื่อนไขจะกลายเป็น TRUE ดังนั้นลูปของเราจะยังคงทำงานต่อไปจนกว่าค่าของ“ x” จะกลายเป็น 11

กด F8 อีกครั้งมันจะข้ามกลับไปที่เส้นลูป“ Do until”

กด F8 อีกสองครั้งเราจะได้ค่า 2 ในเซลล์ A2

กดปุ่ม F8 อีกครั้งค่าของ“ x” จะกลายเป็น 3 ในตอนนี้

กดปุ่ม F8 อีกครั้งมันจะกลับไปที่ลูปอีกครั้ง

เช่นนี้ลูปนี้จะดำเนินการต่อไปเรื่อย ๆ จนกว่าค่าของ“ x” จะกลายเป็น 11 ตอนนี้ฉันได้ดำเนินการลูปจนค่า“ x” กลายเป็น 11

ตอนนี้ถ้าฉันกด F8 มันจะยังคงกลับไปที่ลูป

แต่ถ้าฉันกดแป้น F8 ตอนนี้มันจะออกจากลูปเพราะเงื่อนไขที่ใช้กลายเป็น“ TRUE” คือ x = 11

ตอนนี้เรามีหมายเลขซีเรียลตั้งแต่ 1 ถึง 10 ในแผ่นงาน excel

ดังนั้นนี่คือแนวคิดพื้นฐานของลูป“ ทำจนกว่า” หากต้องการทำความเข้าใจเกี่ยวกับลูปใด ๆ คุณต้องรันโค้ดทีละบรรทัดจนกว่าคุณจะได้รับความรู้ทั้งหมดเกี่ยวกับลูป