同樣利用 Step 參數,將迴圈變數直接以 5 為間距遞增/遞減,無需 Mod 判斷,瞬間完成 1-1000 間 5 的倍數加總。
Sub MultiplesOf5_Asc()
Dim i As Long, total As Long
For i = 0 To 1000 Step 5
total = total + i
Next i
MsgBox "5 的倍數和:" & total
End Sub
Sub MultiplesOf5_Desc()
Dim i As Long, total As Long
For i = 1000 To 1 Step -5
total = total + i
Next i
MsgBox "5 的倍數和:" & total
End Sub
1000 本身即為 5 的倍數,故包含在內;若上限非倍數,需先算出最大倍數(如 Int(1000/5)*5)。k:Step k / Step -k。