Lo que vamos a hacer en este ejemplo es a partir de un numero que se ingrese en una celda vamos a calcular su factorial pulsando un boton, en Excel 2003 recuerdo que era mas sencillo colocar un boton, para Office 2007 lo que tienen que hacer es ir al simbolo que esta en la esquina superior izquierda(el que esta al costado del diskette), le dan click y se van a opciones de excel


Option Explicitcon esto estamos forzando a definir el tipo de todas las variables(esto por las buenas practicas de programacion), ahora declaramos variables ya que al declararlas las macros se ejecutaran mas rapido y usaran menos memoria.
Ahora la sintaxis para declarar variables en VBA es:
Dim varname As type, varname As type,...una buena practica que se hace al programar es ubicar todas las declaraciones Dim al principio del programa y agruparlas por el mismo tipo, mas abajo entenderan a lo que me refiero.
Bueno esto seguro lo habran visto en varios foros o pdfs de programacion en c o en otro lenguaje pero aqui lo citare rapido y fugaz los tipos de variables numericas:
- Integers
- tipo Integer (el rango va de -32 768 a 32767 o 2 bytes)
- tipo Long (el rango va de -2 147 483 648 a 2 147 483 647 o 4 bytes)
- Real o floating point
- Tipo single (cerca de 7 digitos significativos de precision o 4 bytes)
- Tipo double (cerca de 15 digitos significativos de preicion o 8 bytes)
Option Explicit Sub factorialconmacro() Dim n As Single, c As Single, initial As Single Dim i As Integer 'input data 'Application.Workbooks("Libro1.xls").Worksheets("Hoja1"). Sheets("Hoja1").Select Range("B4").Select n = ActiveCell.Value initial = 1 'calculo For i = 1 To n 'calculamos el factorial c = initial * i initial = c Next i 'resultado de salida Range("B5").Select Cells(5, 1) = "El factorial es: " ActiveCell.Value = c End Suben este codigo estamos eligiendo que el numero se ingresara en la celda B4 de la Hoja1, y su factorial se mostrara en la misma hoja pero en la celda B5 el cual le enviamos con el valor de c.
Ahora para que el boton que pusimos mas arriba ejecute el codigo le damos doble click y les saldra algo asi
Private Sub CommandButton1_Click() End Sublo que tienen que hacer es poner dentro del evento click el nombre de la funcion
Private Sub CommandButton1_Click() factorialconmacro End SubComo ven aqui cuando pulsen el boton les saldra algo asi:

0 comentarios:
Publicar un comentario