For Each element In group 
     [statements] 
     [Exit For] 
     [statements]
 Next [element]
- element เป็นตัวแปรที่เรากำหนดให้แทนแต่ละส่วนของ group โดยจะตั้งชื่อตัวแปรนี้เป็นคำว่าอะไรก็ได้
 - group เป็นกลุ่มของ Object เช่น พื้นที่ตารางที่มีหลายเซลล์ หรือแฟ้มที่มีหลายชีท
 
ตัวอย่าง
ต้องการปรับค่าในตารางที่ตั้งชื่อว่า Source ถ้าเซลล์ใดในตารางนี้ มีค่าน้อยกว่า 0 ให้ปรับค่าให้เป็น 0
For Each c In [Source]
     c.Select
     If c.Value < 0 Then c.Value = 0
 Next c
c เป็นตัวแปรที่เราตั้งขึ้นเพื่อใช้แทน แต่ละเซลล์ในตารางที่มีชื่อว่า Source
การทวนซ้ำจนสมบูรณ์ตามเงื่อนไข
โครงสร้างรหัสซึ่งสามารถนำมาใช้ทำงานทวนซ้ำจนเงื่อนไขสมบูรณ์มีหลายแบบ เช่น
Do [{While | Until} condition] 
     [statements] 
     [Exit Do] 
     [statements]
 Loop
หรือ
Do 
     [statements] 
     [Exit Do] 
     [statements]
 Loop [{While | Until} condition]
ตัวอย่าง
ต้องการปรับเพิ่มค่าของเลขที่บันทึกไว้ใน column โดยให้ทำงานเฉพาะพื้นที่เซลล์ที่ที่มีค่าบันทึกไว้ เป็นตารางติดต่อกันไปเริ่มจากเซลล์ A1
Range("A1").Select 
 Do Until Selection.Value = "" 
     Selection.Value = Selection.Value + 1 
     Selection.Offset(1, 0).Select 
 Loop
- Do Until Selection.Value = ""
สั่งให้ทวนซ้ำไปจนกว่าจะพบว่าเซลล์เป็นช่องว่าง - Selection.Value = Selection.Value + 1
ปรับค่าในเซลล์ที่เลือกให้มีค่าเพิ่มอีก 1 - Selection.Offset(1, 0).Select
เลือกเซลล์ row ถัดไปข้างล่าง ใน column เดิม - ถ้าใช้ Do While Selection.Value <> ""
สั่งให้ทวนซ้ำไปเรื่อยๆ ตราบใดที่เซลล์ที่เลือกไม่เป็นเซลล์ว่าง 
นอกจากนี้ยังมีรหัสแบบ While...Wend แต่ไม่แนะนำให้ใช้ เพราะไม่ยืดหยุ่นเท่า Do...Loop