7.10.10

Macros Avanzados Excel

MACROS

Introducción 

trabajamos con un libro personalizado, es decir, que nos 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.
GRABAR UNA MACRO

La forma más fácil e intuitiva de crear macros es crearlas mediante el grabador de macros del que dispone Excel. Este grabador de macros te permite grabar las acciones deseadas que posteriormente las traduce a instrucciones en VBA, las cuales podemos modificar posteriormente si tenemos conocimientos de programación. Cuando grabe una macro, la grabadora de macros graba todos los pasos necesarios para completar las acciones que desea grabar. Para grabar una macro debemos acceder a la pestaña Vista y despliega el submenú Macros y dentro de este submenú seleccionar la opción Grabar macro... Además de esta opción en el menú podemos encontrar las siguientes opciones: Ver Macros... Donde accedemos a un listado de las macros creadas en ese libro. Usar referencias relativas - Con esta opción utilizaremos referencias relativas para que las macros se graben con acciones relativas a la celda inicial seleccionada.

Antes de realizar una Macro es muy importante hablar sobre sus seguridades. Se puede grabar las macros desde la ficha Programador, si no está disponible, haga lo siguiente para mostrarla: Haga clic en el Botón Microsoft Office y, a continuación, haga clic en Opciones de Excel. Opción Más frecuentes Active con un visto la opción Como se visualiza: De clic en el Botón Aceptar. Se visualiza la pestaña Programador que contiene: El grupo Código que se compone de:

Visual Basic y Macros El grupo Controles El grupo XML El grupo Modificar
SEGURIDAD EN MACROS
Para establecer el nivel de seguridad de manera que estén habilitadas temporalmente todas las macros, haga lo siguiente: En la ficha Programador, en el grupo Código, haga clic en Seguridad de macros. Se visualiza:

En Configuración de macros, haga clic en Habilitar todas las macros (no recomendado; puede ejecutarse código posiblemente peligroso) y, a continuación, haga clic en Aceptar. Nota Para ayudar a evitar que se ejecute código potencialmente peligroso, recomendamos que vuelva a cualquiera de las configuraciones que deshabilitan todas las macros cuando termine de trabajar con las macros. En la ficha Programador, en el grupo Código, haga clic en Grabar macro. En el cuadro Nombre de la macro, escriba un nombre para la macro. Nota El primer carácter del nombre de la macro debe ser una letra. Los caracteres siguientes pueden ser letras, números o caracteres de subrayado. No se permiten espacios en un nombre de macro, caracteres especiales ni palabras reservadas; puede utilizarse un carácter de subrayado como separador de palabras. Si utiliza un nombre de macro que también es una referencia de celda, puede aparecer un mensaje indicando que el nombre de la macro no es válido. Para asignar una combinación de tecla de método abreviado (método abreviado: tecla o combinación de teclas de función, como F5 o CTRL+a, que utiliza para ejecutar un comando. Una tecla de acceso, por lo contrario es un combinación de teclas, como ALT+f, que mueve el enfoque a un menú, comando o control.) con CTRL para ejecutar la macro, en el cuadro Tecla de método abreviado, escriba cualquier letra en mayúsculas o minúsculas que desee utilizar.

Nota La tecla de método abreviado suplantará a cualquier tecla de método abreviado predeterminada equivalente en Excel mientras esté abierto el libro que contiene la macro. En la lista Guardar macro en, seleccione el libro en el que desea almacenar la macro. Sugerencia Si desea que la macro esté disponible siempre que utilice Excel, seleccione Libro de macros personal. Cuando se selecciona Libro de macros personal, Excel crea un libro oculto de macros personal (Personal.xlsb), si no existe todavía, y guarda la macro en este libro. En Microsoft Windows XP, este libro se guarda en la carpeta C:\Documents and Settings\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart para que se pueda cargar automáticamente cada vez que se inicia Excel. En Microsoft Windows Vista, este libro se guarda en la carpeta C:\Usuarios\nombre de usuario\Datos de programa\Microsoft\Excel\XLStart. Si desea que se ejecute automáticamente una macro del libro de macros personal en otro libro, también debe guardar ese libro en la carpeta XLStart, de forma que ambos libros se abran cuando se inicie Excel.

1. Para incluir una descripción de la macro, escriba el texto que desee en el cuadro Descripción.
2. Haga clic en Aceptar para iniciar la grabación.
3. Realice las acciones que desee grabar.
4. En la ficha Programador, en el grupo Código, haga clic en Detener grabación.
Sugerencia También puede hacer clic en Detener grabación en el lado izquierdo de la barra de estado. Practica I Genera las siguientes Macros: Grabe una Macro que se active con Control + b y que esta macro permita abrir un archivo. Grabe una Macro que inserte una tabla con datos. Grabe una Macro que abra un archivo existente. Grabe una Macro que abra un nuevo archivo. Grabe una Macro que inserte un logotipo. Grabe una Macro que ordene alfabéticamente una lista de nombres. Grabe una Macro que imprima un formulario.
CODIGOS DE UNA MACRO DE EXCEL
Para observar los códigos de una macro debemos seguir los pasos:
1. En primer lugar seleccione la celda B5 antes de empezar la grabación de la Macro, se visualiza:
2. Presione el Botón Grabar Macro del grupo Código MS Excel muestra el cuadro de Dialogo Grabar Macro:
3. Ingrese un nombre de la macro por ejemplo saludo
4. En la opción Método Abreviado escriba la letra s, por lo tanto la macro se llamara con Control + s
5. En Guardar macro en: Seleccione en el lugar en donde desea guardar la macro, por ejemplo Este libro.
6. En Descripción puede agregar una descripción de lo que hace la macro, este punto es opcional. Solo le sirve para que usted recuerde acerca de lo que hace la macro, pues este código no es interpretado por el compilador.
7. Presione el botón Aceptar. Excel inicia la grabación del la Macro
8. Trasládese a la celda A1 y escriba Hola amiguitos, después presione Enter para aceptar el valor en la celda.
9. Pare la grabación de la macro presionando el botón Detener Grabación del grupo Código. Excel ha grabado los pasos y ha generado un código.
10. Para visualizar el código generado, presione la tecla Alt + la tecla de función F11(Alt + F11), o de un clic derecho en la hoja de cálculo:
11. Seleccione la opción Ver código. También puede acceder al grupo Código, al dar clic en la opción Visual Basic
12. Excel nos traslada al Editor de Visual Basic. Se visualiza:
13. Active los siguientes cuadros o ventanas:
• De clic en el Menú Ver y elija la opción Explorador de Proyectos • De clic en el Menú Ver y elija la opción Ventana Propiedades
14. Del cuadro Proyecto de doble clic en Módulos o simplemente presione el signo de + que aparece en la opción Módulos. Se activara debajo de Módulos la Opción Modulo1.
15. De doble clic en Modulo1. Se mostrara en el Editor de Visual Basic el código de la macro que grabamos de la siguiente forma:
Sub saludo() ' ' saludo Macro ' Mi primera macro ' Autor: Patricia Acosta ' Acceso directo: CTRL+s ' Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" End Sub
16. Que es lo que significa esto nos preguntaremos asombrados, a continuación se da una explicación de lo que ha hecho Excel:
• Sub y End Sub indican el inicio y el final del procedimiento de la macro saludo • Todo lo que aparece con un apóstrofe ´ indica que no se tomara en cuenta que es solo texto o comentarios y ese texto aparece en color verde. • Range("A1").Select Indica que lo primero que hicimos al grabar la macro fue trasladarnos a la celda A1. La orden Range nos permite trasladarnos a una celda. • ActiveCell.FormulaR1C1 = "Hola amiguitos" Esto indica que se escribirá en la celda en que se encuentra el valor de texto Hola amiguitos. Todo lo que aparece entre comillas siempre será un valor de texto. La orden ActiveCell.FormulaR1C1 nos permite escribir un valor en la celda activa. Para comprender alteraremos el código dentro del editor de Visual Basic. Sub saludo() ' saludo Macro ' Mi primera macro ' Autor: Patricia Acosta ' Acceso directo: CTRL+s Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" Range("B1").Select ActiveCell.FormulaR1C1 = "Bienvenidos al curso de Excel" End Sub
17. Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará lo siguiente:
En A1 escribirá Hola amiguitos En B1 escribirá Bienvenidos al curso de Excel Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará En A1 escribirá Hola amiguitos En B1 escribirá Bienvenidos al seminario de Excel. Se visualiza: Sub saludos() ' saludo Macro ' Mi primera macro ' Autor: Patricia Acosta ' Acceso directo: CTRL+s ' Range("A1").Select ActiveCell.FormulaR1C1 = "Hola amiguitos" ' Range("B1").Select ActiveCell.FormulaR1C1 = "Bienvenidos al seminario de Excel" End End Sub Al alterar el código y cuando regrese a Excel y ejecute la macro con Control + s hará: En A1 escribirá Hola amiguitos. En B1 escribirá Bienvenidos al seminario de Excel.
Para salir del editor de clic en el Menú Archivo y elija la opción Cerrar y volver a Microsoft Excel. Si no desea salir por completo de clic en el botón Microsoft Excel que se encuentra activado en: Cuando deseé volver al editor de clic en: la pestaña Programador De clic en el icono del grupo Código Practica II Genere una Macro que escriba un nombre en una celda y lo ponga negrita y observe el Código. Genere una Macro que escriba un nombre en una celda y lo Centre y observe el Código. Genere una Macro que escriba un nombre en una celda y cambie el tamaño de la letra a 20 puntos y observa el Código.

No hay comentarios:

Publicar un comentario