Traduce a tu idioma

Buscar contenido

Bienvenidos a Eco-Excel

Bienvenidos

Este blog está destinado a compartir conocimientos sobre VBA en Excel, SQL, Base de datos y mas.

Esperamos que sea de utilidad

miércoles, 10 de octubre de 2018

Factorial de numero con VBA

El factorial de un entero positivo n
El factorial de n o n factorial se define en principio como el producto de todos los números enteros positivos desde 1 (es decir, los números naturales) hasta n. Por ejemplo:

5!=1x2x3x4x5=120

La operación de factorial aparece en muchas áreas de las matemáticas, particularmente en combinatoria y análisis matemático. De manera fundamental el factorial de n representa el número de formas distintas de ordenar n objetos distintos (elementos sin repetición). Este hecho ha sido conocido desde hace varios siglos, en el siglo XII por los estudiosos hindúes.

La definición de la función factorial también se puede extender a números no naturales manteniendo sus propiedades fundamentales, pero se requieren matemáticas avanzadas, particularmente del análisis matemático.

La notación matemática actual n! fue usada por primera vez en 18081​ por Christian Kramp (1760–1826), un matemático francés que trabajó en especial sobre los factoriales toda su vida.
Fuente : Wikipedia

Código para generar numero factoriales con VBA (Visual Basic for Applications):

Sub Factoriales()
Dim I As Double
Dim J As Double
Dim N As Double
Dim A As Double
Dim B As Double
Dim Suma As Double

With Hoja1
    .Cells.Clear
    .Cells.Font.Size = 14
    .Cells(1, 1) = "NUMEROS FACTORIALES"
    .Cells(1, 1).Interior.Color = vbBlue
    .Cells(1, 1).Font.Color = vbYellow
    .Cells(1, 1).Font.Bold = True
    N = Application.InputBox("NUMEROS FACTORILES", "!")
 
 
        For I = 1 To N

                A = I
                .Cells(I + 1, 1) = I & "!"
                For J = (I - 1) To 1 Step -1

                    Suma = 0
                    B = A * J
                    A = B
                    Suma = Suma + A
                    .Cells(I + 1, 1) = .Cells(I + 1, 1) & " X " & J
         

                Next J

                If Suma = 0 Then Suma = 1
                .Cells(I + 1, 1) = .Cells(I + 1, 1) & " = " & Format(Suma, "#,##0")
        Next I

                .Columns(1).AutoFit
End With

End Sub

Enlace vídeo YouTube



No hay comentarios.:

Publicar un comentario