viernes, 3 de diciembre de 2010

Primer Aplicativo con Macros

Vamos a realizar una aplicación que nos permita ver el potencial que tiene la programación en macros, y nos valernos de un prestamo que hacemos en un banco en donde nos interesa ver la forma de pago durante el periodo que cotizamos.
La tabla inicial es de la siguiente forma:

En esta tabla utilizamos la funcion pago para calcular la cuota anual que debemos pagar durante 10 años para saldar la deuda:
la funcion la colocamos en la celda de color naranja asi: =PAGO($C$6;$C$5;-$C$4) en donde:
                C6 = Tasa de interés
                C5 = Plazo de tiempo
                C4 = Prestamo (precedido de un signo menos) 
hemos obtenido nuestra cuota anual , pero nos interesa ver el comportamiento de ésta para cada periodo, realizamos entonces la tabla con el número de años, anualidad (cuota anual), intereses (aporte a intereses), Amortización (aporte a la deuda), Capital Vivo (lo que queda de la deuda) y Capital amortizado (lo que voy pagando).

Seguidamente debemos colocar el número de años, fijar la cuota anual, colocar la ecuacion de intereses, poner la ecuacion de Amortizacion, poner la ecuacion de Capital vivo y por ultimo la del capital amortizado:
  
    Número de años:  Colocamos 1 en la primer celda y arrastramos hasta 10
             Anualidad:  Fijamos la celda de color naranja
               Intereses:  Calipal vivo anterior por la tasa de Interes (celda fija)
        Amortización:  Anualidad menos los intereses
          Capital vivo:  Capital vivo anterior menos la Amortización
Capital amortizado:  Capital amortizado anterior mas amortización
Si todo resulta bien obtendremos Cero en el Capital Vivo para el periodo 10 como muestra la tabla anterior. Hasta ahí, todo bien, pero supongamos que queremos ampliar el plazo del pago a 20 años, si lo cambiamos en la celda correspondiente el resultado de la tabla será:
Como vemos, es obvio que al periodo 10 no hemos terminado de pagar nuestra deuda, tendriamos que modificar la tabla para poder ver el resultado correcto, y es precisamente eso lo que vamos a programar con la ayuda de las macros.


lunes, 29 de noviembre de 2010

INTRODUCION A LAS MACROS Y PROGRAMACION BASICA


LAS MACROS EN EXCEL SON UNA HERRAMIENTA QUE AUTOMATIZA PROCESOS
Cuando trabajamos con un libro personalizado, es decir, que hemos definido con una serie de características específicas como puedan ser el tipo de letra, el color de ciertas celdas, los formatos de los cálculos y características similares, perdemos mucho tiempo en formatear todo el libro si disponemos de muchas hojas.
Con las macros lo que se pretende es automatizar varias tareas y fusionarlas en una sola, añadiendo por ejemplo un botón en nuestro libro que al pulsar sobre él realice todas esas tareas.

La forma mas sencilla de crear una macro es GRABADO nuestras acciones en un libro de excel y que él automaticamente genere la macro. Una macro es una serie de instrucciones escritas en un lenguaje de programacion llamado BVA, Visual Basic para Aplicaciones, las cuales aprenderemos a modificarlas y así personalizar nuestras hojas de trabajo.


Para grabar una macro debemos acceder a la pestaña Vista y despliega el submenú Macros y dentro de este submenu seleccionar la opción Grabar macro.


Al seleccionar la opción Grabar macro, lo primero que vemos es el cuadro de diálogo Grabar macro donde podemos dar un nombre a la macro (no está permitido insertar espacios en blanco en el nombre de la macro).

Podemos asignarle un Método abreviado: mediante la combinación de las tecla CTRL + "una tecla del teclado". El problema está en encontrar una combinación que no utilice ya Excel.

En Guardar macro: podemos seleccionar guardar la macro en el libro activo, en el libro de macros personal o en otro libro.

En Descripción: podemos describir cuál es el cometido de la macro o cualquier otro dato que creamos conveniente.

Para comenzar la grabación de la macro pulsamos el botón Aceptar y a continuación, si nos fijamos en la barra de estado, encontraremos este botón en la barra de estado donde tenemos la opción de detener la grabación.

A partir de entonces debemos realizar las acciones que queramos grabar, es conveniente no seleccionar ninguna celda a partir de la grabación, ya que si seleccionamos alguna celda posteriormente, cuando ejecutemos la macro, la selección nos puede ocasionar problemas de celdas fuera de rango. Una vez concluidas las acciones que queremos grabar, presionamos sobre el botón Detener de la barra de estado, o accediendo al menú de Macros y haciendo clic en detener macro.

Ejecutar una macro
Para ejecutar la macro debemos acceder al menú Ver Macros, que se encuentra en el menú Macros de la pestaña Vista, y nos aparece el cuadro de diálogo Macro como el que vemos en la imagen donde tenemos una lista con las macros creadas.




Estas macros son guardadas en forma de instrucciones en lenguaje VBA, para poder ver las grabaciones y poder modificarlas debemos abrir el editor de VBA que esta en la pestaña Programador.

Algunas de las instrucciones más usadas son:
Range("A1").value => Nos selecciona la celda A1
Cells(6,2).value => Otra forma de seleccionar una celda, en este caso la B6
[B7] => Otra forma de seleccionar una celda.
Range("C1:C6") => Selecciona un rango de celdas
ActiveCell.Value =>Selecciona la celda activada en ese momento.


Delcaración de Variables
Dim x As integer 


Condicional If
If Cells(i, 1) = empty then
    Cells(i,1) = Cells(i-1,1)
end if


Ciclo for
For i = 1 to  10
       Cells(Int(rnd*50)+1, Int(rnd*50)+1) = "@"
next i


Ciclo While
While i<10
        Cells(Int(rnd*50)+1, Int(rnd*50)+1) = "@"
wend


Ejercicios de práctica
1.) De la tabla registro, utilice un cliclo for para contar cuantos datos hay en total.
2.) Organizar los datos por fecha

domingo, 28 de noviembre de 2010

Repaso de Funciones Basicas

Empezamos este curso haciendo un breve y rapido repaso de funciones básicas, que hasta el momento debemos manajar de excel, con el siguiente ejercicio completaremos la tabla haciendo uso de estas funciones:

llevaremos el reporte de una tienda de ropa que maneja descuentos para algunos de sus productos segun el tipo. Para la solucion utilizaremos el Ingreso de formulas, el condicional "SI", la funcion "SUAMR.SI", la  función "MAX", la funcion "MIN" y la funcion "RPOMEDIO".