Aprender a programar con Excel VBA con 100 ejercicios práctico

Tekst
Loe katkendit
Märgi loetuks
Kuidas lugeda raamatut pärast ostmist
Šrift:Väiksem АаSuurem Aa

004 Usar el libro personalizado de macros

PUEDE GUARDAR SUS MACROS DE USO habitual en un libro personal que abra automáticamente cada vez que ejecute la aplicación. Para ello debe escoger la opción Libro de macros personal del menú Guardar macro en, en el cuadro de diálogo Grabar macro. Al momento se crea un libro nuevo que permanece oculto salvo que el usuario decida mostrarlo.


IMPORTANTE

La próxima vez que vaya a cerrar la aplicación después de acabar este ejercicio, se abrirá un cuadro de diálogo que le preguntará si desea guardar los cambios en el libro de macros personal. En el momento de pulsar el botón Aceptar, se guarda el archivo. De ahí en adelante se abrirá automáticamente cada vez que vuelva a iniciar Excel.


1 En la hoja Pedidos febrero del libro Prácticas2, en la celda A19, escriba la palabra IVA.

2 Introduzca en la celda B19 el valor 0,21 y aplique, usando el comando apropiado del grupo Número en la ficha Inicio, el formato Porcentaje.

3 En la celda E2 escriba el texto TOTAL y pulse Retorno.

4 Pulse el botón Grabar macro de la ficha Programador y cree una nueva macro llamada Total_con_IVA, con el método abreviado Ctrl.+Mayúsculas+I.

5 Despliegue el menú Guardar macro en y seleccione la opción Libro de macros personal.

6 Cuando haya leído los pasos siguientes de este ejercicio, pulse el botón Aceptar y ejecútelos.

7 Introduzca la siguiente fórmula, combinando el uso de las teclas para introducir símbolos, con clics de ratón para introducir referencias a celdas: =C3*B19*B3.

8 En la barra de fórmulas, añada un signo de dólar ($) antes de la letra B y del número 19 para convertir la referencia a la celda que contiene el IVA en una referencia absoluta.

9 Aplique la fórmula y pulse Ctrl.+C para copiarla.

10 Péguela sobre las celdas E4 a E15.

11 Copie el formato de la columna D usando la herramienta correcta del grupo de herramientas Portapapeles.

12 Pegue el formato copiado sobre la columna E.

13 Pulse el botón Detener grabación de la ficha Programador.

14 Abra el libro Prácticas1, repita los pasos 1 a 3 de este ejercicio y pulse el botón Macros de la ficha Programador.

15 Observe que en el nombre de la macro ya se indica que esta está alojada en el libro Personal. Pulse el botón Eliminar.

16 Se le informa de que la macro está en un libro oculto y por tanto no puede borrarla. Acepte el cuadro y ejecute la macro.

17 En la ficha Vista, pulse el comando Mostrar del grupo Ventana y, en el cuadro del mismo nombre establezca que desea mostrar el libro Personal. El libro personal está oculto por defecto para protegerlo de cambios no deseados. Si lo muestra para realizar una acción sobre una macro, recuerde ocultarlo de nuevo.

18 Se trata de un libro con una sola hoja vacía, que sólo contiene macros. Ahora sí podría borrar cualquiera de sus macros pero en lugar de hacerlo pulse el botón Ocultar de la cinta.


IMPORTANTE

El libro personalizado se inserta en un libro llamado PERSONAL que se ubica en la siguiente ruta: Usuarios / (usuario) / AppData / Roamig / Microsoft / Excel / XLSTART.



005 Crear botón de acceso rápido para macro

SI QUIERE MANTENER UNA MACRO SIEMPRE al alcance de un clic, puede añadirla a la barra de acceso rápido de la aplicación. Verá en este ejercicio que el cuadro Opciones de Excel también le permite modificar el nombre y el icono que se mostrarán.

1 Con el archivo Prácticas1 abierto en pantalla, despliegue el menú de la barra de herramientas de acceso rápido con un clic en su botón de punta de flecha.

2 Para acceder al cuadro de personalización de la cinta, pulse la opción Más comados… Si añade a la barra un botón de acceso a una macro, podrá aplicarla con sólo un clic sobre éste.

3 En el cuadro Opciones de Excel, despliegue el menú Comandos disponibles en:

4 Seleccione ahora la opción Macros. Para poder añadir alguna macro a la barra, deberá antes seleccionar la opción Macros en el menú Comandos disponibles en.

5 En el panel Comandos disponibles, que está debajo del de ubicaciones, puede ver los dos macros que ha creado hasta ahora. Seleccione la macro Personal.XLSB!Total_con_IVA y pulse el botón Agregar.

6 Repita la operación con la macro siguiente. Al agregar un comando éste pasa del panel de comandos del lado izquierdo al del lado derecho.

7 Podría cambiar la ubicación de los botones en la barra de acceso rápido utilizando los botones de punta de flecha que están a la derecha del panel de comandos. Para poder distinguir las dos macros, vamos a cambiar el icono que identifica a la macro TotalesMeses. Pulse el botón Modificar, que está al pie del panel de comandos.

8 Escoja alguno de los iconos del cuadro de diálogo Modificar botón que se ha abierto.

9 Como podrá ver, ahora puede cambiar el nombre a mostrar. Separe las sus palabras y pulse el botón Aceptar.

10 Finalmente, pulse el botón Aceptar del cuadro Opciones de Excel, donde ya podrá ver el cambio producido en el icono.

11 Al regresar a la aplicación, los dos botones se muestran en la barra de herramientas de acceso rápido. Coloque el puntero del ratón sobre cualquiera de ellos y compruebe cómo se muestra su nombre en una etiqueta flotante.

12 Guarde los cambios y cierre el archivo Prácticas1.

13 En el archivo Prácticas2, active la hoja Pedidos marzo y ubíquese en la celda E3.

14 Pulse el botón que corresponde a la macro Total con IVA y compruebe cómo se ejecuta correctamente.

15 Pulse ahora el botón Total meses y compruebe cómo se ejecuta también, a pesar de que el libro Prácticas1 está cerrado. ¿O no? Pase al ejercicio siguiente para comprobarlo.Una vez crea un botón para una macro, puede ejecutar la misma con sólo un clic y sin necesidad de abrir manualmente la aplicación que la contiene.


IMPORTANTE

Al volver a abrir un documento que contiene macros, se muestra en una cinta amarilla ubicada sobre el área de trabajo, una advertencia de seguridad que indica que las macros se han deshabilitado. Para habilitarlas deberá pulsar el botón Habilitar contenidos.




006 Crear grupo de macros en la cinta de opciones

OTRA OPCIÓN TAMBIÉN MUY CÓMODA es añadir accesos directos a sus macros de uso habitual en alguna ficha de la cinta de opciones. El procedimiento, que veremos en este ejercicio, es prácticamente idéntico al que seguimos en el ejercicio anterior.

 

1 Lo primero que haremos en este ejercicio será una simple comprobación. Muestre la Barra de tareas de Windows y pulse sobre el icono de Excel.

2 La aplicación ha vuelto a abrir automáticamente el libro Prácticas1 para poder aplicar la macro TotalesMeses. Pulse la pestaña Archivo para mostrar la vista backstage de Excel y haga clic en el comando Opciones.

3 También de este modo se muestra el cuadro de opciones de la aplicación. Pulse la pestaña Barra de herramientas de acceso rápido para mostrar su ficha.

4 Despliegue, tal como hizo en el ejercicio anterior, el menú Comandos disponibles en.

5 Seleccione de nuevo la opción Macros.

6 Tenga en cuenta que sólo se mostrarán las macros guardadas en libros que estén actualmente abiertos. Vamos a añadir las macros a la ficha Programador, que consideramos la más adecuada. Selecciónela en el panel de la cinta.

7 Para mantener el orden, crearemos un nuevo grupo que albergue las macros. Pulse el botón Nuevo grupo. Seleccione la ficha en la que quiere crear el grupo y pulse el botón Nuevo grupo. Éste se creará inmediatamente.

8 Se ha creado un grupo personalizado. Pulse el botón Cambiar nombre y, en el cuadro de diálogo que se abre, introduzca el nombre Mis macros, pero no seleccione ningún icono. Una vez creado el grupo, pulse el botón Cambiar nombre para modificar, además del nombre, el icono que lo identifica.Los grupos de herramientas no muestran ningún icono y aunque seleccione alguna opción del cuadro Cambiar nombre, éste no se mostrará en la cinta.

9 Con el nuevo grupo aún seleccionado, agregue una a una las dos macros, tal como lo hizo en el ejercicio anterior. Las macros se insertan en el grupo previamente seleccionado.

10 Seleccione la macro que pertenece a la hoja personal y pulse el botón Cambiar nombre.

11 Elimine de su nombre la referencia al libro que la contiene y guarde los cambios. Tenga en cuenta que esto afecta sólo al nombre del botón, no a la macro en sí.

12 Repita el proceso con la macro siguiente y añada además un icono que lo diferencie. Como no tiene sentido mostrar el nombre del libro, lo borramos.

13 Al terminar, pulse el botón Aceptar.

14 Active la ficha Programador de la cinta de opciones y compruebe el aspecto del nuevo grupo que ha creado en este ejercicio. Ya podría utilizarlo en cualquier archivo que tenga las características adecuadas.


IMPORTANTE

Una vez ha asignado un botón a una macro, si borra esta última, el botón permanece en su sitio. Sin embargo, al tratar de aplicar la macro usando el botón, la aplicación le informará que esto no es posible.



007 Insertar botón de macro en una hoja

EL COMANDO INSERTAR DEL GRUPO CONTROLES de la ficha Programador de Excel 2010 le permite insertar en cualquier hoja un botón que ejecute automáticamente una macro, que preferiblemente estará guardada en el mismo libro. Desde el cuadro Asignar macros podrá escoger la macro a asociar y desde el cuadro Formato de control podrá cambiar la fuente, el color y otros atributos del texto del botón.


IMPORTANTE

Puede asignar una macro a una diversidad de objetos, como formas en WordArt, autoformas, gráficos, SmartArt, imágenes prediseñadas. Sólo tendrá que mostrar el menú contextual del objeto, escoger la opción Asignar macro y completar el formulario que aparece.



1 Para este ejercicio abra en pantalla la hoja Pedidos Abril del libro Prácticas2.

2 Nuevamente se repite el mismo esquema de las hojas anteriores. Vamos ahora a insertar un par de botones que nos permitan aplicar de forma automática, desde la hoja en este caso, las dos macros con las que venimos trabajando. Active la ficha Programador.

3 Despliegue el menú Insertar del grupo Controles. Puede escoger entre doce controles de formulario y doce controles Active X. Pulse el primer botón de la lista, que es el botón Control de formulario. Los controles Active X se usan sobre todo para formularios en línea.

4 Al llevar el puntero del ratón a la hoja, podrá ver que se ha convertido en un signo Más (+). Dibuje un botón con un arrastre de ratón a la derecha de los datos. Deberá hacer un clic y arrastrar, tal como si fuera a trazar una autoforma.

5 Al terminar el trazado, se abre el cuadro de diálogo Asignar macro que muestra todas las macros disponibles. Seleccione la macro TotalesMeses y pulse el botón Aceptar.

6 El botón se inserta automáticamente en la hoja. Ahora seleccione con un arrastre su nombre genérico, Botón 1, y escriba en su lugar el texto Total meses, separando ambas palabras con un salto de línea.

7 Mientas edita el texto del botón aparecen los controles deforma que le permiten modificar su forma. Puede arrastrar cualquiera de los controles circulares de las esquinas y cambiar dos lados de forma simultánea, o arrastrar alguno de los controles centrales, de forma cuadrada, para modificar sólo un borde.

8 Seleccione el nombre del botón, pulse sobre él con el botón secundario del ratón y escoja la opción Formato de control.

9 En el cuadro del mismo nombre puede modificar todos los atributos de la fuente. Hágalo si le parece necesario.

10 Al aceptar el cuadro Formato de control, el cambio se aplica al botón. FInalmente y pulse el botón creado.

11 Tal como habrá esperado que suceda, se ejecuta la macro al momento. Guarde los cambios para terminar.









Al pulsar el botón se ejecuta inmediatamente la macro en la hoja activa. Evidentemente su utilidad dependerá de la hoja en la que sea aplicado.


008 Establecer la seguridad para macros

LA FICHA CONFIGURACIÓN DE MACROS del Centro de confianza de Excel le permite establecer la forma en la que la aplicación actuará al abrir un archivo que contiene macros. Por defecto se deshabilitan todas y se notifica al usuario. Si opta por alguna de las opciones que deshabilitan macros por defecto, luego podrá habilitar las macros de cualquier libro al abrirlo ya sea pulsando un botón que se muestra sobre el libro o desde la vista Información.


IMPORTANTE

En la pestaña Ubicaciones de confianza del Centro de confianza de Excel puede establecer como seguras algunas carpetas seleccionadas de su equipo o incluso de su red.


1 Abra en pantalla el libro Prácticas1 y active la ficha Programador.

2 Pulse el botón Seguridad de macros del grupo Código para acceder al centro de confianza de la aplicación.

3 Se muestra directamente en su ficha Configuración de macros.

4 Puede establecer que se deshabiliten todas las macros sin notificación, todas con notificación, todas excepto las firmadas digitalmente o habilitar todas las macros, lo que podría ser peligroso, porque muchos virus vienen en forma de macros. Cierre el cuadro de diálogo y luego cierre la aplicación.

5 Abra el libro Prácticas2 en la hoja Pedidos Marzo.

6 Seleccione las celdas A3 a E15, cree una macro llamada ReducciónFuente y guárdela en el mismo libro En este ejercicio grabaremos una sencilla macro que sólo cambia el tamaño de la fuente de los datos de la tabla en la que es aplicada.

7 Grabe la macro: deberá hacer que se reduzca el tamaño de la fuente de los artículos y sus valores (es decir, de las celdas A3 a E15) a 10 puntos.

8 Una vez grabada la macro, guarde el archivo como un libro habilitado para macros, ciérrelo y ábralo inmediatamente de nuevo.

9 Una advertencia de seguridad le indica que se han deshabilitado las macros del libro. Pulse el botón Archivo para mostrar la vista backstage de la aplicación.

10 En la ficha Información, el bloque Habilitar contenido le informa de nuevo que los macros están deshabilitados. Si pulsa el vínculo Configuración del Centro de confianza, accede de nuevo al cuadro de diálogo que ya conoce. Pulse el botón Habilitar contenido.

11 Si aplica la primera opción, Habilitar todo el contenido, el resultado es el mismo que al pulsar el botón Habilitar contenido de la cinta de advertencia que vimos sobre el área de trabajo: se habilita el contenido y el documento se convierte en confiable. Seleccione la opción Opciones avanzadas.

12 La primera opción del cuadro de Opciones de seguridad mantiene deshabilitadas las macros. Seleccione la segunda opción y pulse el botón Aceptar.

 

IMPORTANTE

Más adelante, en la lección 20, Firmar una macro, aprenderá a crear una firma digital para sus macros.



009 Conocer Visual Basic para Aplicaciones

CADA MACRO ESTÁ DEFINIDA POR UN CÓDIGO al que puede acceder a través de Visual Basic para Aplicaciones. Puede hacerlo directamente desde VBA (que puede activar usando el botón Visual Basic de la ficha Programador) o al seleccionar las opciones Modificar o Paso a paso del cuadro Macro.


IMPORTANTE

Otra forma de acceder al código de una macro en VBA es seleccionar la opción Ver código del menú contextual de una hoja, en Excel.


1 Con los libros Prácticas1 y Prácticas2 abiertos en pantalla, active la ficha Programador, pulse el botón Visual Basic del grupo Código.

2 Se abre Visual Basic en pantalla. La ventana Proyecto le muestra una lista de todos los archivos abiertos en la aplicación actualmente. Los archivos se muestran en un árbol en el que por defecto se muestra expandido el proyecto o archivo activo. Puede contraerlo pulsando en el icono Menos (-) así como expandir los otros pulsando el icono Más (+). Expanda de este modo el proyecto VBAProject PERSONAL.

3 Expanda ahora la carpeta Módulos.

4 Cada vez que crea una macro se genera un código VBA que es almacenado en un módulo. Haga doble clic en el Módulo 1 para abrirlo.

5 Se abre la ventana Código mostrando el código VBA del módulo seleccionado, que no es más que el que define a la macro Total con IVA, tal como se indica en el mismo. Pulse el botón Maximizar, cuyo icono es un cuadrado, para que ocupe toda el área disponible.

6 El código de esta macro es bastante complicado pero seguramente podrá identificar los segmentos que describe la fórmula, el rellenado automático y la acción de pegar.

7 En la primera línea la palabra Sub precede al nombre de la macro. Cada una de las líneas de texto que se inician con un apóstrofe (') y son de color verde, son un comentario que no ejecuta ningún tipo de acción. Observe que en la segunda línea se indica su nombre, en la tercera su definición y en la cuarta su acceso directo. Después de los comentarios, cada uno de los enunciados establece la ejecución de una acción en orden. Al ejecutar la macro se realizan todas las acciones en orden, comenzando por la primera y acabando en la última. Minimice Visual Basic.El inicio y el fin del código se indica con la palabra Sub, mientras los apóstrofes y el color verde identifican comentarios que no están vinculados a ninguna acción.

8 Con Excel de nuevo en primer plano, pulse el botón Macros del grupo Código de la ficha Programador.

9 Seleccione la macro TotalesMeses y haga clic en el botón Modificar. El nombre de la macro, su descripción y su código de acceso directo desde el teclado son presentados antes de los enunciados de la macro, a modo de comentarios.

10 También de este modo puede acceder al código de una macro. Compruebe cómo dentro del enunciado With se indica el tipo de fuente, el tamaño y luego otras propiedades que están desactivadas con el texto False.


010 Personalizar la interfaz de VBA

LA INTERFAZ DE VISUAL BASIC es tremendamente personalizable. En ella se encajan una serie de ventanas y en todo momento puede decidir cuáles deben estar visibles y cuáles no, así como su ubicación y tamaño.


IMPORTANTE

Visual Basic funciona con una barra de menús igual que la que utilizaban antes todas las aplicaciones de Microsoft y una barra de herramientas personalizable desde su menú contextual.


1 Para comenzar este ejercicio, despliegue el menú Ver de Visual Basic.

2 Desde este menú puede activar otras ventanas, que están ocultas por defecto. Observe que muchas disponen de un atajo de teclado y escoja la opción Ventana Inmediato. Puede cambiar la posición de cualquier ventana con simples arrastres del ratón. También puede arrastrar sus bordes para modificar sus dimensiones.

3 Se añade la ventana Inmediato al pie de la pantalla. Pulse en su cabecera y arrastre el puntero del ratón sin soltar el botón hasta colocarlo sobre la ventana de Código.

4 De este modo puede cambiar la organización de las ventanas a su antojo. Como de momento no trabajaremos con la ventana Inmediato, ciérrela con un clic en su botón de aspa.

5 Pulse la tecla F4.

6 Con este atajo de teclado se abre la ventana Propiedades que es, después de las ventanas Proyecto y Código, una de las de uso más habitual. Pulse Ctrl.+G, que es el acceso directo para mostrar la ventana Inmediato, y compruebe que ésta vuelve a mostrarse en la última ubicación que usted le dio.

7 Despliegue el menú Herramientas y, con un clic, escoja el comando Opciones.

8 Pulse la pestaña Acoplar del cuadro Opciones para mostrar su ficha.

9 Por defecto, todas las ventanas menos el Examinador de objetos están acopladas. Desactive la selección de la Ventana Inmediato con un clic en su casilla de verificación y pulse el botón Aceptar para deshabilitar su acople

10 La ventana se ha expandido, tal como puede comprobar en la barra de título de la aplicación y ahora la ventana Código permanece oculta.

11 Pulse F7, que es la tecla de acceso directo a ésta última y regrese al cuadro de opciones de Visual basic para volver a acoplar la ventana Inmediato.

12 Arrastre la ventana Inmediato desde su cabecera hasta ver una silueta cuadrada en medio de la pantalla y suelte el botón del ratón.

13 De este modo puede convertir cualquier ventana en una flotante. Pulse sobre su botón de aspa para cerrarla.

14 Despliegue el menú Ventana y escoja la opción Cascada. Cierre Visual Basic para terminar el ejercicio.


IMPORTANTE

Puede modificar el tamaño de cualquier ventana de Visual Basic arrastrando sus bordes o su esquina inferior derecha. Si desea ver dos códigos de forma simultánea, puede escoger la opción Mosaico horizontal o Mosaico vertical del menú Ventana. También puede usar la combinación Ctrl.+Tabulador para saltar entre las diferentes ventanas que tiene abiertas en pantalla o Ctrl.+Mayúsculas+Tabulador para saltar en orden inverso.