Это основной код макроса с циклом перебора всех нечетных чисел
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</strong>
Fact = 1
Else
Fact = s * Fact(s - 1)
End If
End Function
и уточните, если нужно, что должно быть в подпрограмме - весь код или только расчет факториала