Prograr en Excel

13
Invitamos al lector avanzado a hacer caso omiso de los puntos: ¿Qué es una hoja de cálculo? ¿Qué es una macro? Creando mi primer macro. Programando en Excel Debemos hacer notar al lector la diferencia entre programar y diseñar. Al abrir Excel el lector se podrá preguntar en que consiste la programación en este producto ofimático. Podrá notar que solo contamos con un espacio de diseño de tablas de inserción de texto y demás herramientas similares a un procesador de textos y muy propias de está hoja de cálculo como: Realización de operaciones (Sumas, restas, productos, divisiones, etc.). Ahora invitamos al lector visualizar un proyecto en el que no solo se necesite realizar operaciones de orden simple como las mencionadas anteriormente. El proyecto que visualizara es el siguiente. Se necesita crear una hoja de cálculo que permita al usuario introducir valores de forma dinámica es decir el mismo proyecto le solicitara inserte el primer operando el operador y el segundo operando. Es una manera sencilla de comenzar pensarápues si como en todo manual vamos por el principio en este manual comprenderá el uso básico de un planteamiento estructural como toda programación moderna por así contemplarlo ya que en nuestros tiempos ah surgido algo con mayor avance y alcance como lo es la Programming Oriented Objects (POO), pero eso será tema de otro manual, así que pasamos a lo que nos compete por ahora. ¿Qué es una hoja de cálculo? Una hoja de cálculo es un programa ofimático que permite la realización de operaciones matemáticas y de texto. Cuenta con un conjunto de funciones propias de la aplicación que nos permitirá la manipulación de caracteres alfabético-numéricos. En este sistema ofimático se trabaja en un sistema de tabulado constituido de filas y columnas y por ello cada fila esta enlazada con todas las columnas y cada columna con todas las filas. Las columnas tienen un identificativo Alfabético y en Microsoft Excel van desde A

description

COMPUTACION

Transcript of Prograr en Excel

  • Invitamos al lector avanzado a hacer caso omiso de los puntos:

    Qu es una hoja de clculo?

    Qu es una macro?

    Creando mi primer macro.

    Programando en Excel

    Debemos hacer notar al lector la diferencia entre programar y disear. Al abrir Excel el lector

    se podr preguntar en que consiste la programacin en este producto ofimtico. Podr notar

    que solo contamos con un espacio de diseo de tablas de insercin de texto y dems

    herramientas similares a un procesador de textos y muy propias de est hoja de clculo como:

    Realizacin de operaciones (Sumas, restas, productos, divisiones, etc.). Ahora invitamos al

    lector visualizar un proyecto en el que no solo se necesite realizar operaciones de orden simple

    como las mencionadas anteriormente. El proyecto que visualizara es el siguiente. Se necesita

    crear una hoja de clculo que permita al usuario introducir valores de forma dinmica es decir

    el mismo proyecto le solicitara inserte el primer operando el operador y el segundo operando.

    Es una manera sencilla de comenzar pensar pues si como en todo manual vamos por el

    principio en este manual comprender el uso bsico de un planteamiento estructural como

    toda programacin moderna por as contemplarlo ya que en nuestros tiempos ah surgido algo

    con mayor avance y alcance como lo es la Programming Oriented Objects (POO), pero eso ser

    tema de otro manual, as que pasamos a lo que nos compete por ahora.

    Qu es una hoja de clculo?

    Una hoja de clculo es un programa ofimtico que permite la realizacin de operaciones

    matemticas y de texto. Cuenta con un conjunto de funciones propias de la aplicacin que nos

    permitir la manipulacin de caracteres alfabtico-numricos.

    En este sistema ofimtico se trabaja en un sistema de tabulado

    constituido de filas y columnas y por ello cada fila esta enlazada con

    todas las columnas y cada columna con todas las filas. Las columnas

    tienen un identificativo Alfabtico y en Microsoft Excel van desde A

  • hasta XFD (Fig. 2) y de 1 hasta 1048576 (Fig. 3) para las filas. La unin de una fila y una

    columna se conoce como celda (Fig. 4). Comprender que el sistema que le permitir sacarle

    todo el jugo a la herramienta programativa no es el mismo programa Excel. Es en s lo que lleva

    en su ncleo. Excel permite el trabajo con macros las cuales no son ms que un conjunto de

    instrucciones codificadas en un lenguaje de programacin llamado Visual Basic el cual lo

    podemos encontrar en mltiples interfaces de la paquetera bsica de Microsoft Office en sus

    distintas versiones (Office 98 hasta 2007).

    (Fig. 2) Columna

    (Fig. 3) Fila

    (Fig. 4) Celda en Excel

    Qu es una macro?

    Una macro es un conjunto de instrucciones que se ejecutan en forma sucesiva por una

    aplicacin como una hoja de clculo o un procesador de palabras y sirven para reproducir

    procesos o tareas repetitivas de teclas o instrucciones con el "mouse" o tareas que serian

    imposibles de llevara cabo haciendo solo uso de la interfaz que ofrece Excel. En la actualidad

    se han vuelto ms complicados y poderosos debido a que se pueden programar en Visual

    Basic.

    He de decir que la tcnica mostrada no es compatible con todas las versiones del sistema

    ofimtico aqu comentado propiedad de Microsoft. En este tutorial trabajamos con la ltima

    versin salida al mercado: Microsoft Office 2007, por ser la versin que posee el autor. A pesar

    de que esta versin se hace notar como poco intuitiva veremos como desplazarnos hasta la

    seccin crear macro.

  • Creando mi primer macro.

    Para crear esta primer macro trataremos de familiarizar al lector con algunas de las

    caractersticas que ya debera poseer dentro de sus conocimientos sin embargo trataremos de

    mostrarlas para no omitir a ninguna persona que va siguiendo de manera integra este manual

    1. Abra una hoja de clculo

    1.1. Presione Men Inicio

    1.2. Despliegue el submen todos los programas

    1.3. Microsoft Office

    1.4. Microsoft Office Excel 2007

    2. Dirjase al men Vista

    3. Pestaa Macros

    4. Grabar macro

  • 5. Creamos la macro

    5.1. Damos nombre a la macro

    5.2. Colocamos un atajo de teclado

    5.3. Elegimos donde guardar la macro, en este caso hemos decidido que la vamos a utilizar

    en todo el libro y no en otro libro ni en uno personal como lo muestran las otras

    opciones.

    5.4. Damos una descripcin a la macro. La descripcin es opcional, pero es recomendable

    colocarla.

    6. La macro ha comenzado a ser grabada y todo lo que hagamos en la hoja se ira

    almacenando en la macro como si de una cmara se tratase las acciones que realicemos en

    ella se almacenaran en el cdigo de nuestra macro (Deshacer. Escribir texto. Dar formato

    al texto. Realizar bsquedas)

    5.1

    5.2

    5.3

    5.4

  • Es por lo anterior que se dice que la macro se utiliza comnmente para hacer tareas de rutina

    como colocar el tamao de una fuente a un pixeleado de 15 o un color naranja o ambos a la

    par.

    El lector para este momento podr presentar la queja de que le hemos dicho que le

    presentaramos la forma de trabajar con el corazn de la aplicacin y hasta ahora no hemos

    ms que hecho darle vuelta a la interfaz. Es real aquellos que se hayan dado a la tarea de dar

    esta queja, es comprensible; pero esperen que aqu hemos llegado al punto en donde nos

    embarraremos de cdigo as que estn listos. La macro que hemos creado tiene un cdigo en

    un lenguaje que ya habamos mencionado anteriormente Visual BASIC.

    Qu es Visual BASIC?

    Es un lenguaje de programacin desarrollado por Alan Cooper para Microsoft. El lenguaje de

    programacin es un dialecto de BASIC, con importantes aadidos. Su primera versin fue

    presentada en 1991 con la intencin de simplificar la programacin utilizando un ambiente de

    desarrollo completamente grfico que facilitara la creacin de interfaces grficas y en cierta

    medida tambin la programacin misma.

    Constituye un IDE (entorno de desarrollo integrado o en ingls Integrated Development

    Enviroment) que ha sido empaquetado como un programa de aplicacin, es decir, consiste en

    un editor de cdigo (programa donde se escribe el cdigo fuente), un depurador (programa

    que corrige errores en el cdigo fuente para que pueda ser bien compilado), un compilador

    (programa que traduce el cdigo fuente a lenguaje de mquina), y un constructor de interfaz

    grfica o GUI (es una forma de programar en la que no es necesario escribir el cdigo para la

    parte grfica del programa, sino que se puede hacer de forma visual).

    Dnde encuentro el editor de Visual BASIC?

    El autor de esta obra da por entendido la creacin de una macro y lo que pasamos a ver a

    continuacin es la edicin de la misma. Para ello seguimos los siguientes pasos:

  • Nos dirigimos al men Vista y en la pestaa Macros

    seleccionamos de su respectivo submen Ver macros

    con lo que nos mostrara una ventana como la que se

    muestra en la siguiente figura.

    Esta ventana nos muestra el conjunto de macros

    que tenemos creadas en nuestro caso solo

    contamos con una y las opciones que se nos

    presentan son:

    1. Ejecutar: nos permite llevar a cabo las

    acciones para las cuales fue creada esa

    macro.

    2. Paso a Paso: Nos permite ejecutar la

    macro en modo depuracin por as

    llamarle es decir en modo ejecucin

    accin a accin.

    3. Modificar: Esta accin resulta interesante y ser motivo de charla en el siguiente

    captulo.

    4. Crear: Nos permite crear una Macro la cual se encuentra deshabilitada al momento de

    la creacin del manual.

    5. Eliminar: Nos permite eliminar una macro.

    6. Opciones: Nos permite modificar el atajo de teclado con el que se ejecuta la macro as

    como la descripcin de la misma.

    7. Macros en: Visualiza las macros almacenadas en todos los libros abiertos, libro actual,

    etc.

  • Modificar una macro?

    Nos permite modificar la macro en el entorno IDE que Visual BASIC nos ofrece.

    Lo que vemos a continuacin no es un secreto que nos ha puesto Microsoft, no es una ventana

    oculta ni similar, es lo que comentbamos anteriormente el ncleo programativo es decir lo

    que nos permitir crear aplicaciones con el uso de Excel.

    Programando una condicional en visual BASIC

    Primero hacemos notar al usuario la forma en que se comunica Visual BASIC con la aplicacin

    EXCEL en el ejemplo mostrado a continuacin se esta accediendo al contenido de la celda C4

    es decir la Columna C de la fila 4 en la cual colocamos el texto Hola mundo!!

    Range("C4").Select

    ActiveCell.FormulaR1C1 = "Hola mundo!!"

  • El cdigo siguiente solo configura la interfaz de la fuente.

    El cdigo se nos presenta como parte no del lenguaje Visual BASIC en si, si no como parte de la

    aplicacin de Microsoft.

    Entonces donde queda Visual BASIC?

    En ese trozo de cdigo queda, pero bien donde poner ese trozo de cdigo pues sencillo solo

    con colocarlo en la ventana anteriormente expuesta y sabiendo el uso de la sintaxis de visual

    BASIC es mas que suficiente.

    Sencillo no?

    With Selection.Font

    .Name = "Cambria"

    .FontStyle = "Normal"

    .Size = 11

    .Strikethrough = False

    .Superscript = False

    .Subscript = False

    .OutlineFont = False

    .Shadow = False

    .Underline = xlUnderlineStyleNone

    .ThemeColor = xlThemeColorLight1

    .TintAndShade = 0

    .ThemeFont = xlThemeFontMajor

    End With

    MsgBox ("Hola mundo!!" & vbCrLf & "En visual basic")

  • As que ahora tenemos un poder sobre nuestra aplicacin haremos que el usuario introduzca

    su edad y en base a ella determinaremos si es mayor de edad y si puede hacer uso de nuestro

    documento en caso contrario lo sacaremos de la aplicacin y este es el cdigo de nuestra

    aplicacin:

    Explicamos a detalle el cdigo anterior. La numeracin anterior va segn el orden de ideas a

    explicar a continuacin:

    1. Se crea un procedimiento

    2. Se selecciona la celda que contiene la edad del usuario

    3. Se declara la variable que contendr la edad del usuario

    4. Se pasa el valor de la celda activa a Edad

    5. Se selecciona la celda que contiene el nombre del usuario

    6. Se declara la variable Nombre que contendr el nombre del usuario

    7. Se pasa el valor de la celda activa a la variable Nombre

    8. Se realiza la condicional para saber si el usuario es mayor de edad

    1 Sub btn_detect()

    2 Range("E11").Select

    3 Dim Edad As Integer

    4 Edad = ActiveCell.FormulaR1C1

    5 Range("E13").Select

    6 Dim Nombre As String

    7 Nombre = ActiveCell.FormulaR1C1

    8 If Val(Edad) >= 18 Then

    9 MsgBox Nombre & " es usted mayor de edad puede ver el contenido de

    nuestro archivo ;)"

    10 Else

    11 MsgBox Nombre & " eres un niato bye"

    12 Beep

    13 End

    14 End If

    15 End Sub

  • 9. Si la condicin se cumpli, se le informa al usuario del xito que tuvo

    10. En caso contrario

    11. Se le informa el fallo de la condicional

    12. Se manda un Sonido de cierre

    13. Se termina de ejecutar la macro

    14. Se termina la condicional

    15. Se termina el procedimiento

    Tan simple para aquel que es conocedor del lenguaje Visual BASIC y para el que no estamos

    intentando tambin lo sea.

    Colocaremos 2 ejemplos ms antes de dar por finalizada nuestra publicacin:

    Programa que sumara dos nmeros si la suma diera un total de 100 habr xito, si sumara

    menos de 100 habr derrota, si sumara ms de 100 habr sobre cupo, la salida ser impresa en

    la celda J6.

  • Solo hablaremos de la parte del cdigo que se presenta resaltada en verde que es la que nos

    interesa por ahora:

    8. Se crea un selector multi-opciones que suele ser muy similar a una sentencia if then,

    pero que a diferencia de este el select case no redunda en comparar la misma variable

    llamando a su denominante en mltiples ocasiones, ya que da por hecho que se trata

    de la misma variable la que se esta comparando

    9. La primera comparacin si es igual a 100 xito

    11. Si es menor a 100 Derrota

    13. Si es mayor a 13 Sobre cupo

    1 Sub btn_suma()

    2 Dim n1 As Integer

    3 Dim n2 As Integer

    4 Dim resultado As Integer

    5 n1 = Val(Range("I5"))

    6 n2 = Val(Range("J5"))

    7 resultado = n1 + n2

    8 Select Case (resultado)

    9 Case 100

    10 Range("J6") = "xito"

    11 Case Is < 100

    12 Range("J6") = "Derrota"

    13 Case Is > 100

    14 Range("J6") = "Sobrecupo"

    15 End Select

    16 End Sub

  • Y nuestro ejemplo final el uso de bucles:

    El programa contara la suma total desde la posicin B53 hasta B74 y la mostrara en la celda

    C53, en las celdas B53 a B74 se colocaran valores arbitrarios solo para uso de ejemplo.

    3. El FOR es una sentencia de bucle que tras condicionarse se evaluara y se ejecutara

    hasta que la condicin deje de cumplirse, en este caso el bucle terminara cuando num

    sea mayor que 74.

    4. Se suma el valor contenido en la celda Range("B" & num) a la variable total

    5. Se continua con la ejecucin del bucle

    6. Se coloca el valor de la variable total en la celda C53

    1 Sub btn_total()

    2 Dim total As Integer

    3 For num = 53 To 74

    4 total = total + Val(Range("B" & num))

    5 Next num

    6 Range("C53") = total

    7 End Sub

  • Esperando les haya gustado y sea de su buen ver el conocimiento que aqu se plasma.