Esta página te enseña a crear una sencilla calculadora de préstamos en Excel VBA . La hoja de trabajo contiene los siguientes controles ActiveX: dos barras de desplazamiento y dos botones de opción.
Nota: las instrucciones de abajo no te enseñan cómo dar formato a la hoja de trabajo. Suponemos que sabes cómo cambiar los tipos de letra, insertar filas y columnas, añadir bordes, cambiar los colores de fondo, etc.
Ejecute los siguientes pasos para crear la calculadora de préstamos:
1. Añade los dos controles de la barra de desplazamiento. 2. Haz clic en Insertar desde la pestaña Desarrollador y luego haz clic en Barra de desplazamiento en la sección Controles ActiveX.
2. Añade los dos botones de opción. Haz clic en Insertar en la pestaña Desarrollador y luego en Botón de opción en la sección Controles ActiveX.
Cambie las siguientes propiedades de los controles de la barra de desplazamiento (asegúrese de que esté seleccionado el modo de diseño).
3. Haga clic con el botón derecho del ratón en el primer control de la barra de desplazamiento y luego haga clic en Propiedades. Poner Min a 0, Max a 20, SmallChange a 0 y LargeChange a 2.
4. Haga clic con el botón derecho del ratón en el segundo control de la barra de desplazamiento y luego haga clic en Propiedades. Ponga Min a 5, Max a 30, SmallChange a 1, LargeChange a 5, y LinkedCell a F8.
Explicación: cuando haces clic en la flecha, el valor de la barra de desplazamiento sube o baja por SmallChange. Cuando haces clic entre el control deslizante y la flecha, el valor de la barra de desplazamiento sube o baja por medio de LargeChange.
Crear un evento de cambio de hoja de cálculo. El código agregado al Evento de Cambio de Hoja de Trabajo será ejecutado por Excel VBA cuando cambie una celda en una hoja de trabajo.
5. Abre el Editor de Visual Basic.
6. Haga doble clic en la Hoja1 (Sheet1) en el Explorador del Proyecto.
7. Seleccione Hoja de cálculo en la lista desplegable de la izquierda y elija Cambiar en la lista desplegable de la derecha.
8. El Evento de Cambio de la Hoja de Trabajo escucha todos los cambios en la Hoja1. Sólo queremos que Excel VBA ejecute el subcálculo si algo cambia en la celda D4. Para lograrlo, añade la siguiente línea de código a la Hoja de cálculo Evento de cambio (más adelante, más sobre la subcadena Calcular).
Si el objetivo es «$D$4», entonces la aplicación debe ser «Calcular».
9. Obtener el porcentaje correcto en la celda F6 (cambiar el formato de la celda F6 a porcentaje). 10. Haz clic con el botón derecho del ratón en el primer control de la barra de desplazamiento y luego haz clic en Ver código. Añade las siguientes líneas de código:
Privado Sub ScrollBar1_Cambio() Rango(«F6»).Valor = ScrollBar1.Valor / 100 Aplicación. Ejecute «Calcular» End Sub
10. Haz clic con el botón derecho del ratón en el segundo control de la barra de desplazamiento y luego haz clic en Ver código. Añade la siguiente línea de código:
Privado Sub ScrollBar2_Cambio() Aplicación. Ejecute «Calcular» End Sub
11. Haga clic con el botón derecho del ratón en el control del primer botón de opción, y luego haga clic en Ver código. Añade la siguiente línea de código:
Sub opción privadaBotón1_Click() Si OptionButton1.Value = True Then Range(«C12»).Value = «Pago mensual» Aplicación. Ejecute «Calcular» End Sub
12. Haga clic con el botón derecho del ratón en el control del segundo botón de opción, y luego haga clic en Ver código. Añade la siguiente línea de código:
Sub opción privadaBotón2_Click() Si OptionButton2.Value = True Then Range(«C12»).Value = «Pago anual» Aplicación. Ejecute «Calcular» End Sub
13. Es hora de crear el submarino. Puedes ir a través de nuestro capítulo de funciones y subcapítulos para aprender más acerca de los subcapítulos. Si tiene prisa, simplemente coloque la sub llamada Calcular en un módulo (en el editor de Visual Basic, haga clic en Insertar, Módulo).
Sub Calcula() Préstamo Dim como largo, tasa como doble, nper como entero préstamo = Rango («D4»).Valor tasa = Rango («F6»).Valor nper = Rango(«F8»).Valor Si Hoja1.OpciónBotón1.Valor = Verdadero Entonces tasa = tasa / 12 nper = nper * 12 Finalizar si Rango («D12»).Valor = -1 * Hoja de trabajoFunción.Pmt(tasa, nper, préstamo) End Sub
Explicación: el submarino obtiene los parámetros correctos para la función de la hoja de trabajo Pmt. La función Pmt en Excel calcula los pagos de un préstamo basándose en pagos constantes y un tipo de interés constante. Si realiza pagos mensuales (Sheet1.OptionButton1.Value = True), Excel VBA utiliza la tasa / 12 para la tasa y nper *12 para nper (número total de pagos). El resultado es un número negativo, porque los pagos se consideran un débito. Multiplicando el resultado por -1 se obtiene un resultado positivo.