التعامل مع الحلقات التكرارية فى برمجة الاكسل



الدوران عبر For Next Loops
سوف يمر هذا الرمز عبر الأعداد الصحيحة من 1 إلى 10 ، ويعرض كل منها
Sub ForLoop()
Dim i As Integer
For i = 1 To 10
MsgBox i
Next i
End Sub



الدوران عبر Do While Loops
افعل شئ ما طول ما الشرط متحقق
Sub DoWhileLoop()
Dim n As Integer
n = 1
Do While n < 11
MsgBox n
n = n + 1
Loop
End Sub
Sub DoLoopWhile()
Dim n As Integer
n = 1
Do
MsgBox n
n = n + 1
Loop While n < 11
End Sub



الدوران عبر Do Until Loops
افعل شئ ما الى ان يتحقق الشرط
Sub DoUntilLoop()
Dim n As Integer
n = 1
Do Until n >= 10
MsgBox n
n = n + 1
Loop
End Sub



امثلة على ما سبق من الحلقات التكرارية
استخدام الخطوات فى الحلقات التكراريه
Sub ForEach_CountTo10_Even()
Dim n As Integer
For n = 2 To 10 Step 2
MsgBox n
Next n
End Sub
استخدام العد العكسى بدلا من العد المباشر
Sub ForEach_Countdown_Inverse()
Dim n As Integer
For n = 10 To 1 Step -1
MsgBox n
Next n
MsgBox "Lift Off"
End Sub
مثال اخر على العد العكسى
احذف الصف الفارغ
Sub ForEach_DeleteRows_BlankCells()
Dim n As Integer
For n = 10 To 1 Step -1
If Range("a" & n).Value = "" Then
Range("a" & n).EntireRow.Delete
End If
Next n
End Sub
مثال على الخروج من الحلقات التكراريه
sub exit_for
Dim i As Integer
For i = 1 To 10
If i = 5 Then
Exit For
End If
Next i
MsgBox "The value is " & i
end sub
مثال اخر على الخروج من الحلقات التكراريه
Sub ExitDo_Loop()
Dim i As Integer
i = 1
Do Until i > 1000
If Range("A" & i).Value = "error" Then
Range("A" & i).Select
MsgBox "Error Found"
Exit Do
End If
i = i + 1
Loop
End Sub