El siguiente procedimiento está destinado a determinar el factorial de un número, para ello se usa un bucle de estructura Do loop VBA debido a que se sabe que el factorial de n = 1*2*3*....*n, asimismo se uso una estructura selectiva If... Then... Else... End if para el caso que el numero del que se desea calcular factorial sea cero ya que por concepto se sabe que el factorial de cero es uno.
Sub Ejemplo_Factorial()
Dim factorial As Integer
Dim n As Integer
Dim dato As Integer
n = 1
dato = Range("A2") 'Se toma el numero del que se quiere obtener su factorial
'Factorial de cero es igual a uno por concepto
If dato = 0 Then
Factorial = 1
Else
Factorial = dato
Do While (n <> dato)
Factorial = Factorial * n
n = n + 1
Loop
End If
Range("B2") = Factorial
End Sub
Elaborado por: Luis Pinto
25/02/2013 a las 11:19 am
Me parece interesante la aplicación de la función Do Loop., a este ejemplo, también creo que se podría aplicar a distintas variaciones cuando el valor inicial es el mismo no?.
Atte,
Giovanni
03/09/2016 a las 9:27 am
esta usando como variable el nombre de la sub rutina (factorial) creo debe ser factor