Something like this perhaps
Sub Sumall()
Call SumForNext(2, 10)
Call SumDoWhile(4, 10, "odd")
Call SumDoUntil(6, 10, "even")
End Sub
Sub SumForNext(col As Integer, n As Integer, Optional OddEven As String)
OddEven = UCase(OddEven)
For i = 0 To n
If OddEven = "" Or (OddEven = "ODD" And i Mod 2 <> 0) Or (OddEven = "EVEN" And i Mod 2 = 0) Then
Sum = Sum + i
Cells(8 + j, col) = i
Cells(8 + j, col + 1) = Sum
j = j + 1
End If
Next i
End Sub
Sub SumDoWhile(col As Integer, n As Integer, Optional OddEven As String)
n = 10
i = 0
OddEven = UCase(OddEven)
Do While i <= 10
If OddEven = "" Or (OddEven = "ODD" And i Mod 2 <> 0) Or (OddEven = "EVEN" And i Mod 2 = 0) Then
Sum = Sum + i
Cells(8 + j, col) = i
Cells(8 + j, col + 1) = Sum
j = j + 1
End If
i = i + 1
Loop
End Sub
Sub SumDoUntil(col As Integer, n As Integer, Optional OddEven As String)
n = 10
i = 0
OddEven = UCase(OddEven)
Do Until i > 10
If OddEven = "" Or (OddEven = "ODD" And i Mod 2 <> 0) Or (OddEven = "EVEN" And i Mod 2 = 0) Then
Sum = Sum + i
Cells(8 + j, col) = i
Cells(8 + j, col + 1) = Sum
j = j + 1
End If
i = i + 1
Loop
End Sub
Bookmarks