Buenas, el factorial es un problema recursivo en definición así que una buena solución es realizar una función recursiva capaz de calcular el factorial de N (siendo N un número mayor o igual que cero)
Aquí te dejo la función factorial:
Código:
Public Function factorial(ByVal num As Integer) As Long
Dim result As Long
If num = 0 Then
result = 1
Else
result = num * factorial(num - 1)
End If
factorial = result
End Function
Devuelve un valor Long aplicando el factorial de un número N pasado como parámetro a la función.
Saludos