Это основной код макроса с циклом перебора всех нечетных чисел
Sub SummFactorial() Dim summ As Long Dim i As Byte For i = 1 To 9 Step 2 summ = summ + Fact(i) Next i MsgBox (summ) End Sub
а эта функция вызывает сама себя (рекурсия) для расчета факториала
Function Fact(s As Byte) As Long If s <= 1 Then Fact = 1 Else Fact = s * Fact(s - 1) End If End Function и уточните, если нужно, что должно быть в подпрограмме - весь код или только расчет факториала
Answers & Comments
Verified answer
Это основной код макроса с циклом перебора всех нечетных чиселSub SummFactorial()
Dim summ As Long
Dim i As Byte
For i = 1 To 9 Step 2
summ = summ + Fact(i)
Next i
MsgBox (summ)
End Sub
а эта функция вызывает сама себя (рекурсия) для расчета факториала
Function Fact(s As Byte) As Long
If s <= 1 Then
Fact = 1
Else
Fact = s * Fact(s - 1)
End If
End Function
и уточните, если нужно, что должно быть в подпрограмме - весь код или только расчет факториала