Descargar el fichero autocuadro.xlsm
Vamos a automatizar la generación de un Cuadro de Amortización de un Préstamo. Al cambiar el principal o el tipo de interés las celdas del cuadro se actualizan, como es lógico al tratarse de una hoja de cálculo. Pero lo que no se actualiza de forma automática es el número de filas del cuadro al variar la duración del préstamo. Para este caso se ha de utilizar una macro que cambie el número de filas del cuadro al cambiar la duración de la operación financiera.
- anual: Préstamo francés con pago anual constante
- mensual: Préstamo francés con pago mensual constante
- carencia: Préstamo francés con meses de carencia
- italiano: Préstamo de cuota de amortización constante y carencia
La macro que recalcula el cuadro de amortización es la siguiente:
Código:
Sub mCuadro() Call mLimpia Call mPeriodos Call mCopia Range("A1").Select End Sub Sub mLimpia() Range("B12").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Selection.Clear Range("A1").Select End Sub Sub mPeriodos() Dim fin As Integer fin = Range("G4").Value + 10 Range("B10:B11").Select Selection.AutoFill Destination:=Range("B10:B" & fin) Range("B10:B" & fin).Select Range("A1").Select End Sub Sub mCopia() Dim fin As Integer fin = Range("G4").Value + 10 Range("C11:G11").Select Selection.AutoFill Destination:=Range("C11:G" & fin) End Sub
La macro que permite esta ejecución automática no se programa en un Módulo sino que se ha de escribir en el apartado 'Microsoft Excel Objetos' y en la hoja de la que se trate. Es una macro que se lanza al producirse un evento. Concretamente el evento es un Worksheet_Change que permite lanzar un proceso al producirse un cambio en la hoja. Ese cambio en nuestro caso es un cambio en el Target que es la celda D6.